def test_date_from_string_week(self): dates = DateUtils.date_from_string("w1/2019") self.assertEqual(dates[0], datetime.date(2018, 12, 31)) self.assertEqual(dates[1], datetime.date(2019, 1, 6)) dates = DateUtils.date_from_string("w01/2019") self.assertEqual(dates[0], datetime.date(2018, 12, 31)) self.assertEqual(dates[1], datetime.date(2019, 1, 6)) dates = DateUtils.date_from_string("w01") self.assertEqual(dates[0], DateUtils.from_week_number(CURRENT_YEAR, 1)) self.assertEqual(dates[1], DateUtils.from_week_number(CURRENT_YEAR, 1, end=True)) dates = DateUtils.date_from_string("w52/2016") self.assertEqual(dates[0], datetime.date(2016, 12, 26)) self.assertEqual(dates[1], datetime.date(2017, 1, 1)) dates = DateUtils.date_from_string("w1/2017") self.assertEqual(dates[0], datetime.date(2017, 1, 2)) self.assertEqual(dates[1], datetime.date(2017, 1, 8)) with self.assertRaises(ValueError): dates = DateUtils.date_from_string("w02/232") with self.assertRaises(ValueError): dates = DateUtils.date_from_string("w111/2012") with self.assertRaises(ValueError): dates = DateUtils.date_from_string("w0/2012")
def __init__(self, year, week, task_filter=TaskFilter(), tasks=None): self.week = week self.year = year date = DateUtils.from_week_number(year, week) super(WeekOfWork, self).__init__(date, 7, task_filter, tasks)