Я новичок в Boost.Test в 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()
JulianToGreenWich
возвращает tm
struct from ctime
.
Но я делаю что-то не так, потому что я получаю следующие ошибки:
Ошибка C2678 бинарная '==': оператор не найден, которыйпринимает левый операнд типа 'const Left' (или нет приемлемого преобразования)
Ошибка C2338 Тип должен реализовывать оператор << для печати </p>
Ошибка C2679 бинарная '<<': не найден оператор, который принимает правый операнд типа' const T '(или нет приемлемого преобразования) </p>
Как я могу проверить оба значения, day1
и результатJulianToGreenWich
равны?