Ejemplo n.º 1
0
 def test_attributes(self):
     test = dt(2019)
     self.assertEqual(test.year, 2019)
     test = dt(2019, 9, 18, 23)
     self.assertEqual(test.year, 2019)
     self.assertEqual(test.month, 9)
     self.assertEqual(test.day, 18)
     self.assertEqual(test.hour, 23)
Ejemplo n.º 2
0
 def test_contains(self):
     r1 = dt_range(dt(2010), dt(2019))
     self.assertFalse(r1.contains(dt_range('2007-2009')))
     self.assertFalse(r1.contains(dt_range('2009-2011')))
     self.assertTrue(r1.contains(dt_range('2011-2018')))
     self.assertTrue(r1.contains(dt_range('2011-2019')))
     self.assertFalse(r1.contains(dt_range('2009-2021')))
     self.assertFalse(r1.contains(dt_range('2015-2021')))
     self.assertFalse(r1.contains(dt_range('2020-2021')))
Ejemplo n.º 3
0
    def test_overlaps(self):
        r1 = dt_range(dt(2010), dt(2019))
        self.assertFalse(r1.overlaps(dt_range('2007-2009')))
        self.assertTrue(r1.overlaps(dt_range('2009-2011')))
        self.assertTrue(r1.overlaps(dt_range('2011-2018')))
        self.assertTrue(r1.overlaps(dt_range('2011-2019')))
        self.assertTrue(r1.overlaps(dt_range('2009-2021')))
        self.assertTrue(r1.overlaps(dt_range('2015-2021')))
        self.assertFalse(r1.overlaps(dt_range('2020-2021')))

        self.assertFalse(r1 in dt_range('2007-2009'))
        self.assertTrue(r1 in dt_range('2009-2011'))
        self.assertTrue(r1 in dt_range('2011-2019'))
Ejemplo n.º 4
0
 def test_is_static(self):
     dtr = dt_range('19800101-19901231')
     dt0 = dt('2019-09-18')
     self.assertTrue(FXDateMin.is_static)
     self.assertTrue(FXDateMax.is_static)
     self.assertTrue(FXDateRange.is_static)
     self.assertFalse(dt0.is_static)
     self.assertFalse(dtr.is_static)
Ejemplo n.º 5
0
 def test_incr_decr(self):
     test = dt(2019)
     args = (test.lower, test.precision)
     self.assertEqual(test.increment(*args), datetime.datetime(2020, 1, 1))
     self.assertEqual(test.decrement(*args), datetime.datetime(2018, 1, 1))
     test = dt(2019, 1)
     args = (test.lower, test.precision)
     self.assertEqual(test.increment(*args), datetime.datetime(2019, 2, 1))
     self.assertEqual(test.decrement(*args), datetime.datetime(2018, 12, 1))
     # leap year
     test = dt(2020, 2, 28)
     args = (test.lower, test.precision)
     self.assertEqual(test.increment(*args), datetime.datetime(2020, 2, 29))
     test = dt(2020, 3, 1, 0)
     args = (test.lower, test.precision)
     self.assertEqual(test.decrement(*args),
                      datetime.datetime(2020, 2, 29, 23))
Ejemplo n.º 6
0
 def test_input_range_parsing(self):
     dtr1 = dt_range('20190101', '20190131')
     dtr2 = dt_range('20190201', '20190228')
     dtr3 = dt_range('20190301', '20190331')
     self.assertEqual(dt_range.from_contiguous_span(dtr1, dtr2, dtr3),
                      dt_range(dt(2019, 1, 1), dt(2019, 3, 31)))
     self.assertEqual(dt_range.from_contiguous_span(dtr3, dtr1, dtr2),
                      dt_range(dt(2019, 1, 1), dt(2019, 3, 31)))
     with self.assertRaises(ValueError):
         _ = dt_range.from_contiguous_span(dtr3, dtr1)
     with self.assertRaises(ValueError):
         _ = dt_range.from_contiguous_span(dtr1,
                                           dt_range('20190214', '20190215'))
     with self.assertRaises(ValueError):
         _ = dt_range.from_contiguous_span(dtr1, dtr2, dtr3,
                                           dt_range('20190214', '20190215'))
     with self.assertRaises(ValueError):
         _ = dt_range.from_contiguous_span(dtr3, dtr1,
                                           dt_range('20181214', '20190215'),
                                           dtr2)
Ejemplo n.º 7
0
 def test_minmax(self):
     test = [
         dt(2019, 2),
         dt(2019, 9),
         dt(2018),
         dt(2019),
         dt(2019, 1, 1, 12)
     ]
     self.assertEqual(max(test), dt(2019, 9))
     self.assertEqual(min(test), dt(2018))
Ejemplo n.º 8
0
 def test_string_parsing(self):
     self.assertEqual(dt('2019'), datetime.datetime(2019, 1, 1))
     self.assertEqual(dt('2019').precision, 1)
     self.assertEqual(dt('2019091814'), datetime.datetime(2019, 9, 18, 14))
     self.assertEqual(dt('2019091814').precision, 4)
     self.assertEqual(dt('2019-09-18'), datetime.datetime(2019, 9, 18))
     self.assertEqual(dt('2019-09-18').precision, 3)
Ejemplo n.º 9
0
 def test_contain(self):
     dtr = dt_range('19800101-19901231')
     dt0 = dt('2019-09-18')
     self.assertTrue(dtr in FXDateRange)
     self.assertTrue(dt0 in FXDateRange)
     self.assertTrue(FXDateRange.contains(dtr))
     self.assertTrue(FXDateRange.contains(dt0))
     self.assertTrue(FXDateRange.overlaps(dtr))
     self.assertTrue(FXDateRange.overlaps(dt0))
     self.assertFalse(dtr.contains(FXDateRange))
     self.assertTrue(dtr.overlaps(FXDateRange))
     with self.assertRaises(FXDateException):
         _ = (dtr.intersection(FXDateRange))
     with self.assertRaises(FXDateException):
         _ = (FXDateRange.intersection(dtr))
Ejemplo n.º 10
0
 def test_span(self):
     dtr1 = dt_range('20190101', '20190131')
     dtr2 = dt_range('20190201', '20190228')
     dt0 = dt('2019-09-18')
     self.assertEqual(dt_range.from_contiguous_span(FXDateRange),
                      FXDateRange)
     with self.assertRaises(FXDateException):
         _ = dt_range.from_contiguous_span(FXDateRange, FXDateRange)
     with self.assertRaises(FXDateException):
         _ = dt_range.from_contiguous_span(dtr1, FXDateRange, dtr2)
     with self.assertRaises(FXDateException):
         _ = dt_range.from_contiguous_span(dtr1, dtr2, FXDateRange)
     with self.assertRaises(FXDateException):
         _ = dt_range.from_date_span(FXDateMin, FXDateMax)
     with self.assertRaises(FXDateException):
         _ = dt_range.from_date_span(dt0, FXDateMax)
Ejemplo n.º 11
0
 def test_compare(self):
     dtr = dt_range('19800101-19901231')
     dt0 = dt('2019-09-18')
     with self.assertRaises(FXDateException):
         _ = (dt0 > FXDateMin)
     with self.assertRaises(FXDateException):
         _ = (dt0 <= FXDateMax)
     with self.assertRaises(FXDateException):
         _ = (dtr > FXDateMin)
     with self.assertRaises(FXDateException):
         _ = (dtr <= FXDateMax)
     with self.assertRaises(FXDateException):
         _ = (FXDateMin <= FXDateMax)
     with self.assertRaises(FXDateException):
         _ = (dtr <= FXDateRange)
     self.assertTrue(dtr != FXDateRange)
     self.assertTrue(dt0 != FXDateMax)
Ejemplo n.º 12
0
 def test_init(self):
     self.assertEqual(dt(2019), datetime.datetime(2019, 1, 1))
     self.assertEqual(dt(2019).precision, 1)
     self.assertEqual(dt(2019, 9, 18), datetime.datetime(2019, 9, 18))
     self.assertEqual(dt(2019, 9, 18).precision, 3)
Ejemplo n.º 13
0
 def test_input_list_parsing(self):
     self.assertEqual(
         dt_range.from_date_span(dt(2015), dt(2010), dt(2019), dt(2017)),
         dt_range(2010, 2019))
     self.assertEqual(dt_range(['20100201', '20190918']),
                      dt_range('20100201', '20190918'))
Ejemplo n.º 14
0
 def test_init_coerce(self):
     self.assertEqual(dt(datetime.datetime(2019, 1, 1), 1), dt(2019))
     self.assertEqual(dt(datetime.datetime(2019, 5, 1), 2), dt(2019, 5))
     self.assertEqual(dt(datetime.datetime(2019, 5, 18), 2), dt(2019, 5))
Ejemplo n.º 15
0
 def test_comparisons_coerce(self):
     self.assertTrue(dt(2018) <= datetime.date(2019, 1, 1))
     self.assertTrue(dt(2019, 9) >= datetime.date(2018, 12, 25))
Ejemplo n.º 16
0
 def test_comparisons_parent(self):
     self.assertTrue(dt(2018) < datetime.datetime(2019, 1, 1))
     self.assertTrue(dt(2019, 9) > datetime.datetime(2018, 12, 25, 23))
Ejemplo n.º 17
0
 def test_comparisons_same(self):
     self.assertTrue(dt(2018) < dt(2019))
     self.assertTrue(dt(2019, 9) > dt(2018))
     self.assertTrue(dt(2019, 9) > dt(2019))
     self.assertTrue(dt(2019, 1) >= dt(2019))
     self.assertTrue(dt(2019, 1, 1, 12) <= dt(2019, 2))
Ejemplo n.º 18
0
 def test_string_output_iso(self):
     self.assertEqual(dt('1850').isoformat(), '1850-01-01 00:00:00')
Ejemplo n.º 19
0
 def test_string_output_pre1900(self):
     self.assertEqual('{}'.format(dt('1850')), '1850')
     self.assertEqual(dt('185009182359').format(precision=4), '1850091823')
Ejemplo n.º 20
0
 def test_string_output(self):
     self.assertEqual('{}'.format(dt('2019')), '2019')
     self.assertEqual('{}'.format(dt('20190918')), '20190918')
Ejemplo n.º 21
0
 def test_init_epoch(self):
     # Make sure we're not doing platform-dependent stuff that breaks
     # outside of 1970-2038
     self.assertEqual(dt(1850), datetime.datetime(1850, 1, 1))
     self.assertEqual(dt(1850).precision, 1)
     self.assertEqual(dt(2112, 9, 18), datetime.datetime(2112, 9, 18))
     self.assertEqual(dt(2112, 9, 18).precision, 3)
     self.assertEqual(dt(datetime.datetime(1850, 1, 1), 1), dt(1850))
     self.assertEqual(dt(datetime.datetime(1850, 5, 1), 2), dt(1850, 5))
     self.assertEqual(dt(datetime.datetime(1850, 5, 18), 2), dt(1850, 5))
     self.assertEqual(dt(datetime.datetime(2112, 1, 1), 1), dt(2112))
     self.assertEqual(dt(datetime.datetime(2112, 5, 1), 2), dt(2112, 5))
     self.assertEqual(dt(datetime.datetime(2112, 5, 18), 2), dt(2112, 5))
Ejemplo n.º 22
0
 def test_input_string_parsing(self):
     self.assertEqual(dt_range(2010, 2019), dt_range(dt(2010), dt(2019)))
     self.assertEqual(dt_range('20100201', '20190918'),
                      dt_range(dt(2010, 2, 1), dt(2019, 9, 18)))