gpt4 book ai didi

c++ - 如何将 STL 容器作为参数传递给 BOOST_CHECK_EQUAL?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:22:44 27 4
gpt4 key购买 nike

例如,假设我们有一个要测试的类:

struct TestMe {
vector<int> getSomething();
}

测试函数由:

...
vector<int> Expected;
TestMe TM;
...
Result = TM.getSomething();
BOOST_CHECK_EQUAL(Result, Expected);
...

STL vector 提供了一个免费的运算符==,但它没有提供运算符<<,所以这段代码无法通过编译。我怎样才能让它工作?我可以定义自己的运算符 << 吗?它的实现会是什么样子?额外归功于最通用的解决方案:)

最佳答案

我认为您应该使用 BOOST_CHECK_EQUAL_COLLECTIONS,这会测试每个元素并打印不匹配的位置:

BOOST_CHECK_EQUAL_COLLECTIONS(Result.begin(), Result.end(), Expected.begin(), Expected.end());

关于c++ - 如何将 STL 容器作为参数传递给 BOOST_CHECK_EQUAL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4836397/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com