gtest 期望无序元素与自定义比较器/匹配器一起使用
gtest expect unordered elements are with custom comparator/matcher
我有一个对象列表和一个预期值列表,对象在通过函数运行它们后可以计算到这些值。
std::vector<Objects> actual;
std::vector<Enum> expected;
bool equals(Object one, Enum two);
我希望能够使用匹配器执行诸如UnorderedElementsAre
或使用Pointwise
之类的操作,而无需下订单。
我对解决方案有一些想法,但我正在寻找其他建议(尤其是一个更适合 gtest 或使测试更易于阅读的建议(
- 排序
actual
然后使用Pointwise
- 将
actual
中的所有值转换为相应的Enum
值,然后在该列表上执行UnorderedElementsAre
并expected
- 编写隐藏 1 或 2 的匹配器
我知道这是一个相对古老的问题,无论如何,我认为值得一提的是UnorderedPointwise
容器匹配器可能是您正在寻找的。
相关文章:
- std::设置自定义比较器
- C++中"std::sort"比较器的不同类型
- 将 std::set 与基于键的比较器一起使用
- 带自定义比较器的最小优先级队列
- 函数类作为比较器
- 优先级队列自定义比较器
- 什么是自定义比较器以及如何在 C++ 的排序函数中使用它?
- 没有默认构造函数作为模板参数的自定义比较器
- set_intersection使用自定义设置比较器
- 如何为集合 c++ 建立比较器
- C++复杂情况的比较器通过参数问题
- 对于BTreeMap和其他依赖于Ord的东西,是否有等效于C++比较器对象?
- 对没有比较器或λ函数的向量进行排序?
- "operator()"在重载运算符方法中是什么意思,在priority_queue(STL)中用作C++中的比较器?
- 用户定义的结构是否有默认C++比较器?
- C++设置了一个用于排序的比较器和另一个用于唯一性的比较器
- gtest 期望无序元素与自定义比较器/匹配器一起使用
- 如何在 C++11 中将 std::max 与自定义比较器一起使用?
- 为什么set_symmetric_difference无法与比较器一起使用
- 如何使用自定义比较器函数将所有字谜组合在一起