Ejemplo n.º 1
0
    def test_week_bounds(self):
        first_day = datetime(2018, 5, 26, 12, 55)
        (floor, ceil) = week_bounds(first_day)

        self.assertEqual(floor.day, 21)
        self.assertEqual(ceil.day, 27)
        self.assertEqual(floor.minute, 0)
        self.assertEqual(floor.hour, 0)
        self.assertEqual(floor.second, 0)
        self.assertEqual(ceil.minute, 59)
        self.assertEqual(ceil.hour, 23)
        self.assertEqual(ceil.second, 59)
Ejemplo n.º 2
0
    def test_weeks_range_around_two_dates(self):
        first_day = datetime(2018, 1, 5, 0, 0)
        last_day = datetime(2018, 1, 31, 11, 59)
        generated_range = range_weeks(first_day, last_day + timedelta(days=7))
        iterator = iter(generated_range)

        self.assertEqual(len(generated_range), 5)
        moving_day = datetime(2018, 1, 1, 0, 0)
        for _ in range(1, len(generated_range) + 1):
            day = next(iterator).timetuple()
            # constructing the expected range tuple
            expecting = (arrow.get(moving_day).to('utc').floor('day').datetime, arrow.get(moving_day + timedelta(days=6)).to('utc').ceil('day').datetime)
            self.assertEqual(week_bounds(day), expecting)
            moving_day += timedelta(days=7)