Skip to content

Commit 7817721

Browse files
committed
Unittests for GH#9836
1 parent 2734fff commit 7817721

File tree

1 file changed

+29
-0
lines changed

1 file changed

+29
-0
lines changed

pandas/tests/test_categorical.py

+29
Original file line numberDiff line numberDiff line change
@@ -114,6 +114,9 @@ def f():
114114
Categorical([1,2], [1,2,np.nan, np.nan])
115115
self.assertRaises(ValueError, f)
116116

117+
# The default should be unordered
118+
c1 = Categorical(["a", "b", "c", "a"])
119+
self.assertFalse(c1.ordered)
117120

118121
# Categorical as input
119122
c1 = Categorical(["a", "b", "c", "a"])
@@ -367,6 +370,13 @@ def f():
367370
self.assertRaises(TypeError, lambda: a < cat)
368371
self.assertRaises(TypeError, lambda: a < cat_rev)
369372

373+
# Make sure that unequal comparison take the categories order in account
374+
cat_rev = pd.Categorical(list("abc"), categories=list("cba"), ordered=True)
375+
exp = np.array([True, False, False])
376+
res = cat_rev > "b"
377+
self.assert_numpy_array_equal(res, exp)
378+
379+
370380
def test_na_flags_int_categories(self):
371381
# #1457
372382

@@ -2390,6 +2400,14 @@ def test_comparisons(self):
23902400
exp = Series([False, False, True])
23912401
tm.assert_series_equal(res, exp)
23922402

2403+
scalar = base[1]
2404+
res = cat > scalar
2405+
exp = Series([False, False, True])
2406+
tm.assert_series_equal(res, exp)
2407+
res_rev = cat_rev > scalar
2408+
exp_rev = Series([True, False, False])
2409+
tm.assert_series_equal(res_rev, exp_rev)
2410+
23932411
# Only categories with same categories can be compared
23942412
def f():
23952413
cat > cat_rev
@@ -2412,6 +2430,17 @@ def f():
24122430
res = cat_rev > base[0]
24132431
tm.assert_series_equal(res, exp)
24142432

2433+
# unequal comparison should raise for unordered cats
2434+
cat = Series(Categorical(list("abc")))
2435+
def f():
2436+
cat > "b"
2437+
self.assertRaises(TypeError, f)
2438+
cat = Series(Categorical(list("abc"), ordered=False))
2439+
def f():
2440+
cat > "b"
2441+
self.assertRaises(TypeError, f)
2442+
2443+
24152444
# And test NaN handling...
24162445
cat = Series(Categorical(["a","b","c", np.nan]))
24172446
exp = Series([True, True, True, False])

0 commit comments

Comments
 (0)