def test_back_with_a_large_decrement(self): subject = JewishDate(5779, 7, 4) initial_gregorian = subject.gregorian_date subject.back(505) self.assertEqual(subject.gregorian_date, initial_gregorian - timedelta(days=505)) self.assertEqual(subject.jewish_date, (5777, 1, 30))
def test_back_with_a_decrement_into_last_jewish_month(self): subject = JewishDate(5779, 1, 1) initial_gregorian = subject.gregorian_date subject.back(5) self.assertEqual(subject.gregorian_date, initial_gregorian - timedelta(days=5)) self.assertEqual(subject.jewish_date, (5779, 13, 25))
def test_back_with_a_decrement_into_previous_year(self): subject = JewishDate(5779, 7, 4) initial_gregorian = subject.gregorian_date subject.back(5) self.assertEqual(subject.gregorian_date, initial_gregorian - timedelta(days=5)) self.assertEqual(subject.jewish_date, (5778, 6, 28))
def test_back_with_a_decrement_in_same_month(self): subject = JewishDate(5778, 10, 15) initial_gregorian = subject.gregorian_date subject.back(5) self.assertEqual(subject.gregorian_date, initial_gregorian - timedelta(days=5)) self.assertEqual(subject.jewish_date, (5778, 10, 10)) self.assertEqual(subject.day_of_week, (subject.gregorian_date.isoweekday() % 7) + 1)
def paint_date(self, painter): hdf = HebrewDateFormatter() start_date = JewishDate(self.choice_date.jewish_year, self.choice_date.jewish_month, 1) start_date.back(start_date.day_of_week - 1) painter.setFont(QFont('SansSerif', 10)) for index in self.recs: if self.choice_date.jewish_month == start_date.jewish_month: painter.setPen(QColor(0, 0, 0)) else: painter.setPen(QColor(125, 125, 125)) if self.choice_date == start_date: self.choice_rec = index painter.setPen(Qt.NoPen) painter.setBrush(QColor(62, 149, 207)) painter.drawRect(self.recs[self.choice_rec]) painter.setPen(QColor(255, 255, 255)) text = hdf.format_hebrew_number(start_date.jewish_day) painter.drawText(self.recs[index], Qt.AlignCenter, text) start_date.forward()
def test_back_with_no_args(self): subject = JewishDate(date(2017, 10, 26)) subject.back() self.assertEqual(subject.gregorian_date, date(2017, 10, 25)) self.assertEqual(subject.jewish_date, (5778, 8, 5))