测试集合的相等性而不显示不匹配

Test equality of collections without showing mismatches

本文关键字:显示 不匹配 集合 测试      更新时间:2023-10-16

我正在使用BOOST_REQUIRE_EQUAL_COLLECTIONS测试两个文件(图像)的相等性。

当前代码为:

ifstream ifs1(path1, ios_base::binary);
ifstream ifs2(path2, ios_base::binary);     
istream_iterator<char> b1(ifs1), e1;
istream_iterator<char> b2(ifs2), e2;
BOOST_CHECK_EQUAL_COLLECTIONS(b1, e1, b2, e2);

到目前为止运行良好。唯一的问题是,我不想显示每一个不匹配。当文件不同时,就会有成千上万的差异,所有的二进制值都不有趣。基本上我只想知道,这些文件是否相同。我能不能抑制不匹配的打印?

您可以为测试设置日志级别,但没有这样的级别,这将有助于您。我认为最好的变体是使用BOOST_CHECKstd::equal