def test_index_year_month_from_year_month_range_a(self) -> None: index = IndexYearMonth.from_year_month_range( '2017-12-15', '2018-03-15') self.assertAlmostEqualValues(index.values, np.array(['2017-12', '2018-01', '2018-02', '2018-03'], dtype='datetime64[M]')) index = IndexYearMonth.from_year_month_range('2017-12', '2018-03') self.assertEqual(len(index), 4) self.assertEqual([str(d) for d in index.values], ['2017-12', '2018-01', '2018-02', '2018-03']) index = IndexYearMonth.from_year_month_range('2017-12', '2018-03', step=2) self.assertEqual([str(d) for d in index], ['2017-12', '2018-02'])
def test_index_year_month_from_year_month_range_a(self): with self.assertRaises(Exception): index = IndexYearMonth.from_year_month_range( '2017-12-15', '2018-03-15') index = IndexYearMonth.from_year_month_range('2017-12', '2018-03') self.assertEqual(len(index), 4) self.assertEqual([str(d) for d in index.values], ['2017-12', '2018-01', '2018-02', '2018-03']) index = IndexYearMonth.from_year_month_range('2017-12', '2018-03', step=2) self.assertEqual([str(d) for d in index], ['2017-12', '2018-02'])
def test_index_datetime_from_year_month_range(self) -> None: date_min, date_max = (np.datetime64('2007-02'), np.datetime64('2020-04')) idx1 = IndexYearMonth.from_year_month_range(date_min, date_max) self.assertEqual(len(idx1), 159) idx2 = IndexYear.from_year_month_range(date_min, date_max) self.assertEqual(len(idx2), 14) idx3 = IndexDate.from_year_month_range(date_min, date_max) self.assertEqual(len(idx3), 4838)
def test_index_datetime_intersection_a(self) -> None: # NOTE: pending resolution of behavior: should probably raise. index_ym = IndexYearMonth.from_year_month_range('2021-01', '2021-05') index_date = IndexDate(index_ym) with self.assertRaises(RuntimeError): post = index_ym.intersection(index_date)