def test_index_equals_b(self) -> None: idx1 = Index((5, 3, 20), dtype=np.int64) idx2 = Index((5, 3, 20), dtype=np.int32) self.assertFalse(idx1.equals(idx2, compare_dtype=True)) self.assertTrue(idx1.equals(idx2, compare_dtype=False))
def test_index_equals_d(self) -> None: idx1 = Index((5, 3, np.nan)) idx2 = Index((5, 3, np.nan)) idx3 = Index((5, 3, None)) self.assertTrue(idx1.equals(idx2)) self.assertFalse(idx1.equals(idx2, skipna=False)) # nan and None are not treated equivalent, even with skipna true self.assertFalse(idx1.equals(idx3, compare_dtype=False, skipna=True))
def test_index_equals_e(self) -> None: a = Index([1, 2, 3]) b = Index([1, 2, 3]) c = Index([1, 3, 2]) d = Index([1, 2, 3, 4]) e = Index(['a', 2, 3]) self.assertFalse(not a.equals(b)) self.assertTrue(not a.equals(c)) self.assertTrue(not a.equals(c)) self.assertTrue(not a.equals(d)) self.assertTrue(not a.equals(e))
def test_index_intersection_e(self) -> None: idx1 = Index((10, 'foo', None, 4.1)) idx2 = idx1.union(idx1) self.assertEqual(id(idx1), id(idx2)) self.assertTrue(idx1.equals(idx1)) idx3 = idx1.intersection(idx1) self.assertEqual(id(idx1), id(idx3)) self.assertTrue(idx1.equals(idx3)) idx4 = idx1.difference(idx1) self.assertEqual(len(idx4), 0) self.assertEqual(idx4.dtype, np.dtype(object))