C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 32 を表示中)
■15518 / )  Re[1]: WinUnitで対象クラスのprivateメンバーを使いたい
□投稿者/ επιστημη (870回)-(2008/03/14(Fri) 14:09:56)
επιστημη さんの Web サイト
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

返信 編集キー/


管理者用

- Child Tree -