def test_to_tuple(self): extents = Extents(period="day") extents_tuple = tuple(extents) self.assertEquals(extents_tuple, extents.to_tuple()) self.assertEquals(extents_tuple[0], extents[0]) self.assertEquals(extents_tuple[1], extents[1])
def test_period_defined(self): extents = Extents(local_datetime(2014, 6, 18, 11, 11, 11), period="day") self.assert_extents(extents, (2014, 6, 18, 0, 0, 0), (2014, 6, 18, 23, 59, 59)) # period can be changed extents.set_period("month") self.assert_extents(extents, (2014, 6, 1), (2014, 6, 30, 23, 59, 59))
def test_extents_to_string(self): t = local_datetime(2014, 6, 18, 11, 11, 11) t_formatted = t.__repr__() extents = Extents(t) self.assertEquals(str(extents), "Extents for undefined period around %s" % t_formatted) extents.set_period("week") self.assertEquals(str(extents), "Extents for `week` around %s" % t_formatted)
def test_period_next(self): extents = Extents(local_datetime(2014, 6, 18, 11, 11, 11), period="week") self.assertEquals(extents.next(), local_datetime(2014, 6, 26)) extents = Extents(local_datetime(2014, 6, 25, 11, 11), period="week") self.assertEquals(extents.next(), local_datetime(2014, 7, 3)) extents = Extents(local_datetime(2015, 4, 14, 11, 11), period="week") self.assertEquals(extents.next(), local_datetime(2015, 4, 23))
def test_period_previous(self): t = datetime(2014, 6, 18, 11, 11, 11, tzinfo=utc) extents = Extents(t, period="week") self.assertEquals(extents.previous(), local_datetime(2014, 6, 12))
def test_period_set_invalid(self): extents = Extents(local_datetime(2014, 6, 18)) self.assertRaises(ValueError, lambda: extents.set_period("lightyear"))
def test_extents_day(self): t = local_datetime(2014, 6, 18, 11, 11, 11) extents = Extents(t, "day") self.assertEqual(t, extents.current()) self.assert_extents(extents, (2014, 6, 18, 0, 0, 0), (2014, 6, 18, 23, 59, 59))
def test_for_period(self): extents = Extents(local_datetime(2014, 6, 18, 11, 11, 11)) start, end = extents.for_period("week") self.assertEquals(start, local_datetime(2014, 6, 16, 0, 0, 0)) self.assertEquals(end, local_datetime(2014, 6, 22, 23, 59, 59))
def test_slices_illigal_interval(self): extents = Extents(local_datetime(2014, 6, 18, 11, 11, 11), "week") self.assertRaises(ValueError, lambda: extents.slices("year"))
def test_slices_in_week(self): extents = Extents(local_datetime(2014, 6, 18, 11, 11, 11), "week") self.assertEquals(extents.slices("day"), 7) self.assertEquals(extents.slices("hour"), 7 * 24) self.assertEquals(extents.slices("15minute"), 7 * 24 * 4)