def test_equals(self): ci1 = CategoricalIndex(['a', 'b'], categories=['a', 'b'], ordered=True) ci2 = CategoricalIndex(['a', 'b'], categories=['a', 'b', 'c'], ordered=True) self.assertTrue(ci1.equals(ci1)) self.assertFalse(ci1.equals(ci2)) self.assertTrue(ci1.equals(ci1.astype(object))) self.assertTrue(ci1.astype(object).equals(ci1)) self.assertTrue((ci1 == ci1).all()) self.assertFalse((ci1 != ci1).all()) self.assertFalse((ci1 > ci1).all()) self.assertFalse((ci1 < ci1).all()) self.assertTrue((ci1 <= ci1).all()) self.assertTrue((ci1 >= ci1).all()) self.assertFalse((ci1 == 1).all()) self.assertTrue((ci1 == Index(['a', 'b'])).all()) self.assertTrue((ci1 == ci1.values).all()) # invalid comparisons with tm.assertRaisesRegexp(ValueError, "Lengths must match"): ci1 == Index(['a', 'b', 'c']) self.assertRaises(TypeError, lambda: ci1 == ci2) self.assertRaises( TypeError, lambda: ci1 == Categorical(ci1.values, ordered=False)) self.assertRaises( TypeError, lambda: ci1 == Categorical(ci1.values, categories=list('abc'))) # tests # make sure that we are testing for category inclusion properly self.assertTrue( CategoricalIndex(list('aabca'), categories=['c', 'a', 'b']).equals(list('aabca'))) with tm.assert_produces_warning(FutureWarning, check_stacklevel=False): self.assertTrue( CategoricalIndex(list('aabca'), categories=['c', 'a', 'b', np.nan]).equals(list('aabca'))) self.assertFalse( CategoricalIndex(list('aabca') + [np.nan], categories=['c', 'a', 'b']).equals(list('aabca'))) self.assertTrue( CategoricalIndex(list('aabca') + [np.nan], categories=['c', 'a', 'b' ]).equals(list('aabca') + [np.nan]))
def test_equals(self): ci1 = CategoricalIndex(['a', 'b'], categories=['a', 'b'], ordered=True) ci2 = CategoricalIndex(['a', 'b'], categories=['a', 'b', 'c'], ordered=True) self.assertTrue(ci1.equals(ci1)) self.assertFalse(ci1.equals(ci2)) self.assertTrue(ci1.equals(ci1.astype(object))) self.assertTrue(ci1.astype(object).equals(ci1)) self.assertTrue((ci1 == ci1).all()) self.assertFalse((ci1 != ci1).all()) self.assertFalse((ci1 > ci1).all()) self.assertFalse((ci1 < ci1).all()) self.assertTrue((ci1 <= ci1).all()) self.assertTrue((ci1 >= ci1).all()) self.assertFalse((ci1 == 1).all()) self.assertTrue((ci1 == Index(['a', 'b'])).all()) self.assertTrue((ci1 == ci1.values).all()) # invalid comparisons with tm.assertRaisesRegexp(ValueError, "Lengths must match"): ci1 == Index(['a', 'b', 'c']) self.assertRaises(TypeError, lambda: ci1 == ci2) self.assertRaises( TypeError, lambda: ci1 == Categorical(ci1.values, ordered=False)) self.assertRaises( TypeError, lambda: ci1 == Categorical(ci1.values, categories=list('abc'))) # tests # make sure that we are testing for category inclusion properly self.assertTrue(CategoricalIndex( list('aabca'), categories=['c', 'a', 'b']).equals(list('aabca'))) with tm.assert_produces_warning(FutureWarning, check_stacklevel=False): self.assertTrue(CategoricalIndex( list('aabca'), categories=['c', 'a', 'b', np.nan]).equals(list( 'aabca'))) self.assertFalse(CategoricalIndex( list('aabca') + [np.nan], categories=['c', 'a', 'b']).equals(list( 'aabca'))) self.assertTrue(CategoricalIndex( list('aabca') + [np.nan], categories=['c', 'a', 'b']).equals(list( 'aabca') + [np.nan]))