def test_end_at_midnight(self): self.assertEqual( _subdivide_interval_by_hour( utc(2010, 6, 5, 23, 55), utc(2010, 6, 6, 0, 0), ), {utc(2010, 6, 5, 23): 300.0} )
def test_same_hour(self): self.assertEqual( _subdivide_interval_by_hour( utc(2010, 6, 6, 4, 24), utc(2010, 6, 6, 4, 26), ), {utc(2010, 6, 6, 4): 120.0} )
def test_start_at_midnight(self): self.assertEqual( _subdivide_interval_by_hour( utc(2010, 6, 6, 0, 0), utc(2010, 6, 6, 0, 3), ), {utc(2010, 6, 6, 0): 180.0} )
def test_same_hour(self): self.assertEqual( _subdivide_interval_by_hour( datetime(2010, 6, 6, 4, 24), datetime(2010, 6, 6, 4, 26), ), {datetime(2010, 6, 6, 4): 120.0} )
def test_zero_interval(self): self.assertEqual( _subdivide_interval_by_hour( utc(2010, 6, 6, 4, 26), utc(2010, 6, 6, 4, 26), ), {} )
def test_split_over_midnight(self): self.assertEqual( _subdivide_interval_by_hour( utc(2010, 6, 5, 23, 55), utc(2010, 6, 6, 0, 3), ), {utc(2010, 6, 5, 23): 300.0, utc(2010, 6, 6, 0): 180.0} )
def test_split_over_midnight(self): self.assertEqual( _subdivide_interval_by_hour( datetime(2010, 6, 5, 23, 55), datetime(2010, 6, 6, 0, 3), ), { datetime(2010, 6, 5, 23): 300.0, datetime(2010, 6, 6, 0): 180.0 })
def test_full_hours(self): self.assertEqual( _subdivide_interval_by_hour( utc(2010, 6, 5, 23, 40), utc(2010, 6, 6, 2, 10), ), {utc(2010, 6, 5, 23): 1200.0, utc(2010, 6, 6, 0): 3600.0, utc(2010, 6, 6, 1): 3600.0, utc(2010, 6, 6, 2): 600.0} )
def test_full_hours(self): self.assertEqual( _subdivide_interval_by_hour( datetime(2010, 6, 5, 23, 40), datetime(2010, 6, 6, 2, 10), ), { datetime(2010, 6, 5, 23): 1200.0, datetime(2010, 6, 6, 0): 3600.0, datetime(2010, 6, 6, 1): 3600.0, datetime(2010, 6, 6, 2): 600.0 })
def test_same_hour(self): self.assertEqual( _subdivide_interval_by_hour( datetime(2010, 6, 6, 4, 24), datetime(2010, 6, 6, 4, 26), ), {datetime(2010, 6, 6, 4): 120.0})