29 namespace astrotypes {
53 ASSERT_EQ(
julian_day(1), std::chrono::hours(24));
54 ASSERT_EQ(
julian_day(2), std::chrono::hours(48));
59 std::chrono::time_point<JulianClock> epoc;
60 ASSERT_EQ(
julian_day(0), epoc.time_since_epoch());
62 std::chrono::time_point<JulianClock> hundred = epoc +
julian_day(100.0);
63 ASSERT_EQ(
julian_day(100.0), hundred.time_since_epoch());
66 ASSERT_EQ(
julian_day(1.0), hundred_hours.time_since_epoch());
71 typename JulianClock::time_point epoch(
julian_day(2440587.5));
72 std::chrono::time_point<std::chrono::system_clock> system_epoch;
73 ASSERT_TRUE(
static_cast<std::chrono::time_point<std::chrono::system_clock>
>(epoch) == system_epoch);
74 ASSERT_TRUE( static_cast<JulianClock::time_point>(system_epoch) == epoch);
80 auto today = JulianClock::now();
81 std::cout <<
"time now=" << today <<
"\n";
TEST_F(DispersionConstantTest, test_dimensionally_correct)
constexpr std::enable_if< boost::units::is_quantity< BoostQuantity >::value &&boost::units::is_unit_of_dimension< typename BoostQuantity::unit_type, boost::units::time_dimension >::value &&!is_equivalent< BoostQuantity, std::chrono::duration< ChronoNumericalRep, PeriodType > >::value, BoostQuantity >::type duration_cast(const std::chrono::duration< ChronoNumericalRep, PeriodType > &duration)
Mimic the std::duration_cast to convert to/from boost::units::quantity
std::chrono::duration< double, std::ratio< 86400 > > julian_day
representation of julian time is in days