助推.测试检查结构是否相等
Boost.Test check if structs are equals
我是Boost的新手。Visual Studio 2017测试。
我正在尝试用以下测试来测试一种方法:
#define BOOST_TEST_MODULE astroTimeTests
#include <boost/test/included/unit_test.hpp>
#include <ctime>
#include "../../AstroTime/Convert.h"
struct TestFixture
{
Convert convert_instance;
TestFixture()
: convert_instance()
{}
~TestFixture() = default;
};
BOOST_FIXTURE_TEST_SUITE(TestConvert, TestFixture)
BOOST_AUTO_TEST_CASE(julianToGreenWichCase)
{
// http://www.onlineconversion.com/julian_date.htm
tm day1 = { 12, 28, 16, 2, 10, 119, 0, 0, 0};
BOOST_REQUIRE_EQUAL(day1, convert_instance.JulianToGreenWich(2458790.18625f));
}
BOOST_AUTO_TEST_SUITE_END()
CCD_ 1从CCD_ 3返回一个CCD_。
但我做错了什么,因为我得到了以下错误:
错误C2678二进制'==':找不到占用左手的运算符类型为"const Left"的操作数(或没有可接受的转换(
错误C2338类型必须实现运算符<lt;可打印
错误C2679二进制'<lt;':找不到占用右手的运算符类型为"const T"的操作数(或没有可接受的转换(
如何测试两个值day1
和JulianToGreenWich
的结果是否相等?
这就是我修复这个错误的方法:
#define BOOST_TEST_MODULE astroTimeTests
#include <boost/test/included/unit_test.hpp>
#include <ctime>
#include <iostream>
#include "../../AstroTime/Convert.h"
struct TestFixture
{
Convert convert_instance;
TestFixture()
: convert_instance()
{}
~TestFixture() = default;
};
bool operator ==(tm const &left, tm const &right)
{
return(
left.tm_sec == right.tm_sec
&& left.tm_min == right.tm_min
&& left.tm_hour == right.tm_hour
&& left.tm_mday == right.tm_mday
&& left.tm_mon == right.tm_mon
&& left.tm_year == right.tm_year);
}
std::ostream& operator<<(std::ostream& os, const tm& dt)
{
os << dt.tm_hour << " " << dt.tm_min << " " << dt.tm_sec << ", "
<< dt.tm_mday << " " << dt.tm_mon << " " << (1900 + dt.tm_year) << std::endl;
return os;
}
BOOST_FIXTURE_TEST_SUITE(TestConvert, TestFixture)
BOOST_AUTO_TEST_CASE(julianToGreenWichCase)
{
// http://www.onlineconversion.com/julian_date.htm
tm day1 = { 12, 28, 16, 2, 10, 119, 0, 0, 0};
BOOST_REQUIRE_EQUAL(day1, convert_instance.JulianToGreenWich(2458790.18625f));
}
BOOST_AUTO_TEST_SUITE_END()
相关文章:
- 添加静态constexpr成员是否会更改结构/类的内存映射
- 具有引用成员的结构是否具有唯一的对象表示形式
- 给定一个C++嵌套的私有结构类型,是否有从文件范围静态函数访问它的策略
- 公共/私有/受保护是否会更改内存中结构的排列?
- 是否有像地图这样的C++结构,但我得到的不是值的键,而是值的句柄?
- 是否可以将结构数组别名为结构成员数组?
- 是否可以使用智能指针成员设置具有另一个结构的结构?
- 是否可以使用 std::array 作为 POD 结构的数据容器?
- 用户定义的结构是否有默认C++比较器?
- gcc 是否在 2 条短裤的过度对齐结构的比较中错过了优化机会?
- 是否可以跨多个源文件构建 constexpr 数据结构?
- 前向声明时"结构"和"类"关键字是否相同?
- 在 Visual Studio 中调试时,是否可以将一些 C/C++ 结构内容保存到磁盘?
- 是否有像ADTF2这样的结构化属性?
- C++ - 检查结构数据类型中的单词是否为回文
- 当结构在C++中也被引用时,它是否可以返回其成员之一?
- 如何检查助推融合序列是否为自适应结构
- 具有指向函数的指针的类内的结构是否需要类外函数的前向声明
- 对于这个问题,是否有更好的数据结构和算法选择
- 助推.测试检查结构是否相等