コード例 #1
0
    def test_eras_constraint(self):
        no_eras_calendar = self.calendar_factory.build(eras=())
        mismatch_eras_and_ranges_calendar = self.calendar_factory.build(
            eras=(FAKE.word(), FAKE.word()), era_ranges=(("-inf", "inf"), ))

        with pytest.raises(IntegrityError), self.session:
            self.session.add(no_eras_calendar)
            self.session.commit()
        with pytest.raises(IntegrityError), self.session:
            self.session.add(mismatch_eras_and_ranges_calendar)
            self.session.commit()
コード例 #2
0
 def test___repr__(self):
     name = FAKE.word()
     seconds_in_day = FAKE.random_int(min=1)
     convertible_clock = self.clock_factory.build(
         name=name, seconds_in_day=seconds_in_day
     )
     assert (
         repr(convertible_clock)
         == f"{name}(Seconds in a Day: {seconds_in_day})"
     )
コード例 #3
0
    def test_parse_hr_date_and_format_hr_date_are_reversible(self):
        calendar = self.calendar_factory.build(
            leap_year_cycles=(4, ),
            leap_year_cycle_ordinals=(4, ),
            leap_year_cycle_start=1,
            special_common_years=(),
            special_leap_years=(),
            leap_year_offset=0,
            era_ranges=(("-inf", 1), (1, "inf")),
            eras=(FAKE.word(), FAKE.word()),
        )
        cdt = ConvertibleDate(calendar=calendar)
        common_ce_ast_year = (FAKE.random_int(min=1) * 4) - 1
        common_ce_hr_year = common_ce_ast_year
        common_bce_ast_year = (FAKE.random_int(min=-9999, max=0) * 4) - 1
        common_bce_hr_year = abs(common_bce_ast_year - 1)
        common_month, common_day = self.random_common_month_and_day(calendar)
        common_ce_ymd = common_ce_ast_year, common_month, common_day
        common_bce_ymd = common_bce_ast_year, common_month, common_day
        common_ce_hr_date = cdt.date_sep.join([
            str(common_ce_hr_year),
            str(common_month),
            str(common_day),
            calendar.eras[1],
        ])
        common_bce_hr_date = cdt.date_sep.join([
            str(common_bce_hr_year),
            str(common_month),
            str(common_day),
            calendar.eras[0],
        ])

        leap_ce_ast_year = leap_ce_hr_year = FAKE.random_int(min=1) * 4
        leap_bce_ast_year = FAKE.random_int(min=-9999, max=0) * 4
        leap_bce_hr_year = abs(leap_bce_ast_year - 1)
        leap_month, leap_day = self.random_leap_month_and_day(calendar)
        leap_ce_ymd = leap_ce_ast_year, leap_month, leap_day
        leap_bce_ymd = leap_bce_ast_year, leap_month, leap_day
        leap_bce_hr_date = cdt.date_sep.join([
            str(leap_bce_hr_year),
            str(leap_month),
            str(leap_day),
            calendar.eras[0],
        ])
        leap_ce_hr_date = cdt.date_sep.join([
            str(leap_ce_hr_year),
            str(leap_month),
            str(leap_day),
            calendar.eras[1],
        ])
        assert (cdt.parse_hr_date(
            cdt.format_hr_date(common_bce_ymd)) == common_bce_ymd)
        assert (cdt.parse_hr_date(
            cdt.format_hr_date(common_ce_ymd)) == common_ce_ymd)
        assert (cdt.parse_hr_date(
            cdt.format_hr_date(leap_bce_ymd)) == leap_bce_ymd)
        assert (cdt.parse_hr_date(
            cdt.format_hr_date(leap_ce_ymd)) == leap_ce_ymd)
        assert (cdt.format_hr_date(
            cdt.parse_hr_date(common_bce_hr_date)) == common_bce_hr_date)
        assert (cdt.format_hr_date(
            cdt.parse_hr_date(common_ce_hr_date)) == common_ce_hr_date)
        assert (cdt.format_hr_date(
            cdt.parse_hr_date(leap_bce_hr_date)) == leap_bce_hr_date)
        assert (cdt.format_hr_date(
            cdt.parse_hr_date(leap_ce_hr_date)) == leap_ce_hr_date)