あなたは自動的にあなたの関数が取るboolsのすべての異なる組み合わせを歩くためにキャッチのgenerators一部を使用することができます。
TEST_CASE("where is my sandwich", "[hunger][food]")
{
bool wantLettuce = GENERATE(Values(false, true));
bool wantTomato = GENERATE(Values(false, true));
bool wantBacon = GENERATE(Values(false, true));
bool wantCheese = GENERATE(Values(false, true));
bool wantEgg = GENERATE(Values(false, true));
CHECK(sandwichAssembler(wantLettuce, wantTomato, wantBacon, wantCheese, wantEgg));
}
IIRC、これはすべての組み合わせを試す2^5回を実行するためのキャッチが発生します。
...しかし、私はあなたがしたいことすべてがすべての組み合わせを行使していると仮定しています。実際に出力が何らかの期待に合っているかどうかを確認したい場合は、もっと多くのことを行う必要があります。
(これはテストしていません - バルセロナのカフェでサンドイッチを待っている間にメモリから呼び出す)