Exemple #1
0
 def test_special_values(self):
     self.assertEqual(str(utils.Timedelta(0)), '0s')
     self.assertEqual(str(utils.Timedelta(0.4)), '0s')
     self.assertEqual(str(utils.Timedelta(-0.4)), '0s')
     self.assertEqual(str(utils.Timedelta(utils.Timedelta.NOT_APPLICABLE)),
                      '')
     self.assertEqual(str(utils.Timedelta(utils.Timedelta.UNKNOWN)), '?')
Exemple #2
0
 def test_timedelta(self):
     self.assertIsInstance(utils.Timestamp(1234).timedelta, utils.Timedelta)
     self.assertIsInstance(
         utils.Timestamp(utils.Timestamp.NOW).timedelta, utils.Timedelta)
     self.assertIsInstance(
         utils.Timestamp(utils.Timestamp.SOON).timedelta, utils.Timedelta)
     self.assertIsInstance(
         utils.Timestamp(utils.Timestamp.UNKNOWN).timedelta,
         utils.Timedelta)
     self.assertIsInstance(
         utils.Timestamp(utils.Timestamp.NOT_APPLICABLE).timedelta,
         utils.Timedelta)
     self.assertIsInstance(
         utils.Timestamp(utils.Timestamp.NEVER).timedelta, utils.Timedelta)
     with mock_time(2000, 1, 1, 0, 0, 0):
         self.assertEqual(
             utils.Timestamp.from_string('00:00:00').timedelta,
             utils.Timedelta(0))
         self.assertEqual(
             utils.Timestamp.from_string('00:00:01').timedelta,
             utils.Timedelta(1))
         self.assertEqual(
             utils.Timestamp.from_string('00:05:00').timedelta,
             utils.Timedelta(300))
         self.assertEqual(
             utils.Timestamp.from_string('01-02 00:00:00').timedelta,
             utils.Timedelta(3600 * 24))
         self.assertEqual(
             utils.Timestamp.from_string('02-01 00:00:00').timedelta,
             utils.Timedelta(3600 * 24 * 31))
Exemple #3
0
    def test_bool(self):
        for td in (utils.Timedelta(random.randint(-1e5, 1e5) * MIN),
                   utils.Timedelta(random.randint(-1e5, 1e5) * HOUR),
                   utils.Timedelta(random.randint(-1e5, 1e5) * DAY)):
            self.assertEqual(bool(td), True)

        for td in (utils.Timedelta(utils.Timedelta.UNKNOWN),
                   utils.Timedelta(utils.Timedelta.NOT_APPLICABLE)):
            self.assertEqual(bool(td), False)
Exemple #4
0
    def test_sorting(self):
        lst = [
            utils.Timedelta(-2 * HOUR),
            utils.Timedelta(2 * MIN),
            utils.Timedelta(3 * MIN),
            utils.Timedelta(1 * DAY),
            utils.Timedelta(2.5 * YEAR),
            utils.Timedelta(utils.Timedelta.UNKNOWN),
            utils.Timedelta(utils.Timedelta.NOT_APPLICABLE)
        ]

        def shuffle(lst):
            return random.sample(lst, k=len(lst))

        for _ in range(10):
            self.assertEqual(sorted(shuffle(lst)), lst)
Exemple #5
0
 def test_preposition_string(self):
     self.assertEqual(utils.Timedelta(6 * DAY).with_preposition, 'in 6d')
     self.assertEqual(utils.Timedelta(-6 * DAY).with_preposition, '6d ago')
     self.assertEqual(utils.Timedelta(0.3).with_preposition, 'now')
     self.assertEqual(utils.Timedelta(-0.3).with_preposition, 'now')
Exemple #6
0
 def test_negative_delta(self):
     self.assertEqual(str(utils.Timedelta(-10)), '-10s')
     self.assertEqual(str(utils.Timedelta(-1 * 60 - 45)), '-1m45s')
     self.assertEqual(str(utils.Timedelta(-3 * DAY - 2 * HOUR)), '-3d2h')
Exemple #7
0
 def test_added_subunits_for_small_numbers(self):
     self.assertEqual(str(utils.Timedelta(9 * HOUR + 59 * MIN + 59)),
                      '9h59m')
     self.assertEqual(str(utils.Timedelta(10 * HOUR + 59 * MIN + 59)),
                      '10h')