出力インターフェイスに出力する前にデータのスタイルを設定する一連の出力スタイラー クラスをテストしています。各スタイラーの動作は、出力されるオブジェクトに関して最大 5 つの異なる条件 (現時点では、6 つ目の条件が準備中) に依存します: isKey、isDefault、isEmpty、isReadOnly、isAccessible
そのため、あるスタイラーに読み取り専用データがある場合は何も出力されず、別のスタイラーは「アクセスが拒否されました」と表示される場合があります。
現時点では、これらの線に沿ってテストしていますが、条件が追加されるにつれて、テストは爆発的に増加しています。
{
// isKey, isDefault, isEmpty, isReadOnly, isAccessible
ValueOutputTester::TestConditions conditions = {0, 0, 0, 0, 0};
EXPECT_EQ(valueOutputTester(conditions), accessDeniedOutput);
}
{
ValueOutputTester::TestConditions conditions = {0, 0, 0, 0, 1};
EXPECT_EQ(valueOutputTester(conditions), normalOutput);
}
{
ValueOutputTester::TestConditions conditions = {0, 0, 0, 1, 0};
EXPECT_EQ(valueOutputTester(conditions), accessDeniedOutput);
}
{
ValueOutputTester::TestConditions conditions = {0, 0, 0, 1, 1};
EXPECT_EQ(valueOutputTester(conditions), accessDeniedOutput);
}
{
ValueOutputTester::TestConditions conditions = {0, 0, 1, 0, 0};
EXPECT_EQ(valueOutputTester(conditions), emptyOutput);
}
...
これを行うためのより良い方法をお勧めできますか?