2008/03/14(Fri) 14:11:36 編集(投稿者)
> CppUnitの時はテストクラスを対象クラスのFriendクラスにすることで
> 回避していたんですが、今回のWinUnitはクラスを使っていないので
> その手は使えないみたいです。
小賢しくもクラスの皮を一枚被せる (^^;
#include "WinUnit.h"
// コレがテスト対象。
class Target {
friend class Tester;
private:
int value;
public:
Target(int v) : value(v) {}
};
// private部に風穴をあけるクラス
// public static なテストをここに書く
class Tester {
public:
static void good() {
Target t(3);
WIN_ASSERT_EQUAL(3, t.value);
}
static void bad() {
Target t(3);
WIN_ASSERT_EQUAL(4, t.value);
}
};
// WinUnitのエントリ。横流しにすっだけ。
BEGIN_TEST(MyFailingTest)
{ Tester::bad(); }
END_TEST
BEGIN_TEST(MySucceedingTest)
{ Tester::good(); }
END_TEST