def to_fixed(self): """Return the fixed date.""" return ({Event.Kalends: JulianDate(self.year, self.month, 1).to_fixed(), Event.Nones: JulianDate(self.year, self.month, self.nones_of_month(self.month)).to_fixed(), Event.Ides: JulianDate(self.year, self.month, self.ides_of_month(self.month)).to_fixed() }[self.event] - self.count + (0 if (JulianDate.is_leap_year(self.year) and (self.month == MonthOfYear.March) and (self.event == Event.Kalends) and (16 >= self.count >= 6)) else 1) + (1 if self.leap else 0))
def testLeapYear(self): self.assertTrue(JulianDate.is_leap_year(2000)) self.assertTrue(JulianDate.is_leap_year(1900))