Skip to content

Commit 31ca717

Browse files
TST: simplify tests for GH14346 (pandas-dev#14502)
1 parent 6ac759d commit 31ca717

File tree

1 file changed

+48
-71
lines changed

1 file changed

+48
-71
lines changed

pandas/tests/indexes/test_datetimelike.py

+48-71
Original file line numberDiff line numberDiff line change
@@ -732,30 +732,21 @@ def test_fillna_datetime64(self):
732732
dtype=object)
733733
self.assert_index_equal(idx.fillna('x'), exp)
734734

735-
def test_difference_of_union(self):
736-
# GH14323: Test taking the union of differences of an Index.
737-
# Difference of DatetimeIndex does not preserve frequency,
738-
# so a differencing operation should not retain the freq field of the
739-
# original index.
740-
i = pd.date_range("20160920", "20160925", freq="D")
741-
742-
a = pd.date_range("20160921", "20160924", freq="D")
743-
expected = pd.DatetimeIndex(["20160920", "20160925"], freq=None)
744-
a_diff = i.difference(a)
745-
tm.assert_index_equal(a_diff, expected)
746-
tm.assert_attr_equal('freq', a_diff, expected)
747-
748-
b = pd.date_range("20160922", "20160925", freq="D")
749-
b_diff = i.difference(b)
750-
expected = pd.DatetimeIndex(["20160920", "20160921"], freq=None)
751-
tm.assert_index_equal(b_diff, expected)
752-
tm.assert_attr_equal('freq', b_diff, expected)
753-
754-
union_of_diff = a_diff.union(b_diff)
755-
expected = pd.DatetimeIndex(["20160920", "20160921", "20160925"],
756-
freq=None)
757-
tm.assert_index_equal(union_of_diff, expected)
758-
tm.assert_attr_equal('freq', union_of_diff, expected)
735+
def test_difference_freq(self):
736+
# GH14323: difference of DatetimeIndex should not preserve frequency
737+
738+
index = date_range("20160920", "20160925", freq="D")
739+
other = date_range("20160921", "20160924", freq="D")
740+
expected = DatetimeIndex(["20160920", "20160925"], freq=None)
741+
idx_diff = index.difference(other)
742+
tm.assert_index_equal(idx_diff, expected)
743+
tm.assert_attr_equal('freq', idx_diff, expected)
744+
745+
other = date_range("20160922", "20160925", freq="D")
746+
idx_diff = index.difference(other)
747+
expected = DatetimeIndex(["20160920", "20160921"], freq=None)
748+
tm.assert_index_equal(idx_diff, expected)
749+
tm.assert_attr_equal('freq', idx_diff, expected)
759750

760751

761752
class TestPeriodIndex(DatetimeLike, tm.TestCase):
@@ -963,29 +954,23 @@ def test_no_millisecond_field(self):
963954
with self.assertRaises(AttributeError):
964955
DatetimeIndex([]).millisecond
965956

966-
def test_difference_of_union(self):
967-
# GH14323: Test taking the union of differences of an Index.
968-
# Difference of Period MUST preserve frequency, but the ability
969-
# to union results must be preserved
970-
i = pd.period_range("20160920", "20160925", freq="D")
971-
972-
a = pd.period_range("20160921", "20160924", freq="D")
973-
expected = pd.PeriodIndex(["20160920", "20160925"], freq='D')
974-
a_diff = i.difference(a)
975-
tm.assert_index_equal(a_diff, expected)
976-
tm.assert_attr_equal('freq', a_diff, expected)
977-
978-
b = pd.period_range("20160922", "20160925", freq="D")
979-
b_diff = i.difference(b)
980-
expected = pd.PeriodIndex(["20160920", "20160921"], freq='D')
981-
tm.assert_index_equal(b_diff, expected)
982-
tm.assert_attr_equal('freq', b_diff, expected)
983-
984-
union_of_diff = a_diff.union(b_diff)
985-
expected = pd.PeriodIndex(["20160920", "20160921", "20160925"],
986-
freq='D')
987-
tm.assert_index_equal(union_of_diff, expected)
988-
tm.assert_attr_equal('freq', union_of_diff, expected)
957+
def test_difference_freq(self):
958+
# GH14323: difference of Period MUST preserve frequency
959+
# but the ability to union results must be preserved
960+
961+
index = period_range("20160920", "20160925", freq="D")
962+
963+
other = period_range("20160921", "20160924", freq="D")
964+
expected = PeriodIndex(["20160920", "20160925"], freq='D')
965+
idx_diff = index.difference(other)
966+
tm.assert_index_equal(idx_diff, expected)
967+
tm.assert_attr_equal('freq', idx_diff, expected)
968+
969+
other = period_range("20160922", "20160925", freq="D")
970+
idx_diff = index.difference(other)
971+
expected = PeriodIndex(["20160920", "20160921"], freq='D')
972+
tm.assert_index_equal(idx_diff, expected)
973+
tm.assert_attr_equal('freq', idx_diff, expected)
989974

990975

991976
class TestTimedeltaIndex(DatetimeLike, tm.TestCase):
@@ -1199,27 +1184,19 @@ def test_fillna_timedelta(self):
11991184
[pd.Timedelta('1 day'), 'x', pd.Timedelta('3 day')], dtype=object)
12001185
self.assert_index_equal(idx.fillna('x'), exp)
12011186

1202-
def test_difference_of_union(self):
1203-
# GH14323: Test taking the union of differences of an Index.
1204-
# Difference of TimedeltaIndex does not preserve frequency,
1205-
# so a differencing operation should not retain the freq field of the
1206-
# original index.
1207-
i = pd.timedelta_range("0 days", "5 days", freq="D")
1208-
1209-
a = pd.timedelta_range("1 days", "4 days", freq="D")
1210-
expected = pd.TimedeltaIndex(["0 days", "5 days"], freq=None)
1211-
a_diff = i.difference(a)
1212-
tm.assert_index_equal(a_diff, expected)
1213-
tm.assert_attr_equal('freq', a_diff, expected)
1214-
1215-
b = pd.timedelta_range("2 days", "5 days", freq="D")
1216-
b_diff = i.difference(b)
1217-
expected = pd.TimedeltaIndex(["0 days", "1 days"], freq=None)
1218-
tm.assert_index_equal(b_diff, expected)
1219-
tm.assert_attr_equal('freq', b_diff, expected)
1220-
1221-
union_of_difference = a_diff.union(b_diff)
1222-
expected = pd.TimedeltaIndex(["0 days", "1 days", "5 days"],
1223-
freq=None)
1224-
tm.assert_index_equal(union_of_difference, expected)
1225-
tm.assert_attr_equal('freq', union_of_difference, expected)
1187+
def test_difference_freq(self):
1188+
# GH14323: Difference of TimedeltaIndex should not preserve frequency
1189+
1190+
index = timedelta_range("0 days", "5 days", freq="D")
1191+
1192+
other = timedelta_range("1 days", "4 days", freq="D")
1193+
expected = TimedeltaIndex(["0 days", "5 days"], freq=None)
1194+
idx_diff = index.difference(other)
1195+
tm.assert_index_equal(idx_diff, expected)
1196+
tm.assert_attr_equal('freq', idx_diff, expected)
1197+
1198+
other = timedelta_range("2 days", "5 days", freq="D")
1199+
idx_diff = index.difference(other)
1200+
expected = TimedeltaIndex(["0 days", "1 days"], freq=None)
1201+
tm.assert_index_equal(idx_diff, expected)
1202+
tm.assert_attr_equal('freq', idx_diff, expected)

0 commit comments

Comments
 (0)