如何使用gmock和gtest测试bitset中的每个元素是否具有相同的值。我正在寻找下面没有编译的东西
bitset<25> flags;
ASSERT_THAT(flags, AllOf(Eq(true)));
答案 0 :(得分:2)
&#34;如何使用gmock和gtest测试位集中的每个元素是否具有相同的值。&#34;
AllOf()
匹配器用于组合其他匹配器,如reference documentation中所述。
单Eq(true)
要求flags
bool
(或至少int
)的bitset<25> flags;
// ...
ASSERT_TRUE(flags.all());
自动投射操作符,std::bitset<>
实际上不可用。这就是你的方法无法编译的原因。
您可以轻松地执行类似
的操作ASSERT_TRUE(flags.any());
该功能可从std::bitset<>
获得。
更多选择:
ASSERT_TRUE(flags.none());
bitset<25> expected_value("1100111001110011100111001");
ASSERT_EQUAL(expected_value,flags);
{{1}}