29 namespace astrotypes {
53 static constexpr
const char*
symbol =
"TestClock";
58 typedef std::chrono::duration<double, std::ratio<100000>> Duration;
60 TimePoint time_point_1(Duration(4000));
61 TimePoint time_point_2(Duration(3999));
62 auto res = time_point_1 - time_point_2;
63 ASSERT_EQ(res, Duration(1));
65 TimePoint time_point_3(Duration(3999.999999999999));
66 double res_val = 4000.0 - 3999.999999999999;
67 auto res2 = time_point_1 - time_point_3;
68 ASSERT_EQ(res2, Duration(res_val));
74 typedef std::chrono::duration<double, std::ratio<100>> Duration;
76 TimePoint time_point(Duration(4000));
77 boost::units::quantity<boost::units::si::time, double> boost_type(100 * boost::units::si::seconds);
78 TimePoint res = time_point + boost_type;
79 ASSERT_EQ(res, TimePoint(Duration(4001)));
84 typedef std::chrono::duration<double, std::ratio<100>> Duration;
86 TimePoint time_point(Duration(4000));
87 boost::units::quantity<boost::units::si::time, double> boost_type(100 * boost::units::si::seconds);
88 time_point += boost_type;
89 ASSERT_EQ(time_point, TimePoint(Duration(4001)));
94 typedef std::chrono::duration<double, std::ratio<100>> Duration;
96 TimePoint time_point(Duration(4000));
97 boost::units::quantity<boost::units::si::time, double> boost_type(200 * boost::units::si::seconds);
98 TimePoint res = time_point - boost_type;
99 ASSERT_EQ(res, TimePoint(Duration(3998)));
104 typedef std::chrono::duration<double, std::ratio<100>> Duration;
106 TimePoint time_point(Duration(4000));
107 boost::units::quantity<boost::units::si::time, double> boost_type(100 * boost::units::si::seconds);
108 time_point -= boost_type;
109 ASSERT_EQ(time_point, TimePoint(Duration(3999)));
TEST_F(DispersionConstantTest, test_dimensionally_correct)
static constexpr const char * symbol
extension of std::chrono::time_point for astrotypes clocks