|
|
- from datetime import datetime as dt, timedelta as td
- from django.test import TestCase
-
- from hc.lib.date import format_hms, choose_next_report_date
-
-
- class DateFormattingTestCase(TestCase):
- def test_sub_second_works(self):
- s = format_hms(td(seconds=0.12))
- self.assertEqual(s, "0.12 sec")
-
- def test_mins_secs_work(self):
- s = format_hms(td(seconds=0))
- self.assertEqual(s, "0 sec")
-
- s = format_hms(td(seconds=1))
- self.assertEqual(s, "1 sec")
-
- s = format_hms(td(seconds=61))
- self.assertEqual(s, "1 min 1 sec")
-
- s = format_hms(td(seconds=62))
- self.assertEqual(s, "1 min 2 sec")
-
- def test_hours_work(self):
- s = format_hms(td(seconds=62 + 60 * 60))
- self.assertEqual(s, "1 h 1 min 2 sec")
-
- s = format_hms(td(seconds=60 * 60))
- self.assertEqual(s, "1 h 0 min 0 sec")
-
-
- class NextReportDateTestCase(TestCase):
- def test_it_works(self):
- # October
- nao = dt(year=2019, month=10, day=15, hour=6)
- result = choose_next_report_date(nao)
- self.assertEqual(result.year, 2019)
- self.assertEqual(result.month, 11)
- self.assertEqual(result.day, 1)
- self.assertTrue(result.hour >= 12)
-
- # December
- nao = dt(year=2019, month=12, day=15, hour=6)
- result = choose_next_report_date(nao)
- self.assertEqual(result.year, 2020)
- self.assertEqual(result.month, 1)
- self.assertEqual(result.day, 1)
- self.assertTrue(result.hour >= 12)
|