def testInferIndexValue(self): # same range index index1 = pd.RangeIndex(1, 3) index2 = pd.RangeIndex(1, 3) ival1 = parse_index(index1) ival2 = parse_index(index2) oival = infer_index_value(ival1, ival2) self.assertEqual(oival.key, ival1.key) self.assertEqual(oival.key, ival2.key) # different range index index1 = pd.RangeIndex(1, 3) index2 = pd.RangeIndex(2, 4) ival1 = parse_index(index1) ival2 = parse_index(index2) oival = infer_index_value(ival1, ival2) self.assertIsInstance(oival.value, IndexValue.Int64Index) self.assertNotEqual(oival.key, ival1.key) self.assertNotEqual(oival.key, ival2.key) # same int64 index, all unique index1 = pd.Int64Index([1, 2]) index2 = pd.Int64Index([1, 2]) ival1 = parse_index(index1) ival2 = parse_index(index2) oival = infer_index_value(ival1, ival2) self.assertIsInstance(oival.value, IndexValue.Int64Index) self.assertEqual(oival.key, ival1.key) self.assertEqual(oival.key, ival2.key) # same int64 index, not all unique index1 = pd.Int64Index([1, 2, 2]) index2 = pd.Int64Index([1, 2, 2]) ival1 = parse_index(index1) ival2 = parse_index(index2) oival = infer_index_value(ival1, ival2) self.assertIsInstance(oival.value, IndexValue.Int64Index) self.assertNotEqual(oival.key, ival1.key) self.assertNotEqual(oival.key, ival2.key) # different int64 index index1 = pd.Int64Index([1, 2]) index2 = pd.Int64Index([2, 3]) ival1 = parse_index(index1) ival2 = parse_index(index2) oival = infer_index_value(ival1, ival2) self.assertIsInstance(oival.value, IndexValue.Int64Index) self.assertNotEqual(oival.key, ival1.key) self.assertNotEqual(oival.key, ival2.key) # different index type index1 = pd.Int64Index([1, 2]) index2 = pd.Float64Index([2.0, 3.0]) ival1 = parse_index(index1) ival2 = parse_index(index2) oival = infer_index_value(ival1, ival2) self.assertIsInstance(oival.value, IndexValue.Float64Index) self.assertNotEqual(oival.key, ival1.key) self.assertNotEqual(oival.key, ival2.key) # range index and other index index1 = pd.RangeIndex(1, 4) index2 = pd.Float64Index([2, 3, 4]) ival1 = parse_index(index1) ival2 = parse_index(index2) oival = infer_index_value(ival1, ival2) self.assertIsInstance(oival.value, IndexValue.Float64Index) self.assertNotEqual(oival.key, ival1.key) self.assertNotEqual(oival.key, ival2.key) index1 = pd.DatetimeIndex([]) index2 = pd.RangeIndex(2) ival1 = parse_index(index1) ival2 = parse_index(index2) oival = infer_index_value(ival1, ival2) self.assertIsInstance(oival.value, IndexValue.Index) self.assertNotEqual(oival.key, ival1.key) self.assertNotEqual(oival.key, ival2.key)
def test_infer_index_value(): # same range index index1 = pd.RangeIndex(1, 3) index2 = pd.RangeIndex(1, 3) ival1 = parse_index(index1) ival2 = parse_index(index2) oival = infer_index_value(ival1, ival2) assert oival.key == ival1.key assert oival.key == ival2.key # different range index index1 = pd.RangeIndex(1, 3) index2 = pd.RangeIndex(2, 4) ival1 = parse_index(index1) ival2 = parse_index(index2) oival = infer_index_value(ival1, ival2) assert isinstance(oival.value, IndexValue.Int64Index) assert oival.key != ival1.key assert oival.key != ival2.key # same int64 index, all unique index1 = pd.Int64Index([1, 2]) index2 = pd.Int64Index([1, 2]) ival1 = parse_index(index1) ival2 = parse_index(index2) oival = infer_index_value(ival1, ival2) assert isinstance(oival.value, IndexValue.Int64Index) assert oival.key == ival1.key assert oival.key == ival2.key # same int64 index, not all unique index1 = pd.Int64Index([1, 2, 2]) index2 = pd.Int64Index([1, 2, 2]) ival1 = parse_index(index1) ival2 = parse_index(index2) oival = infer_index_value(ival1, ival2) assert isinstance(oival.value, IndexValue.Int64Index) assert oival.key != ival1.key assert oival.key != ival2.key # different int64 index index1 = pd.Int64Index([1, 2]) index2 = pd.Int64Index([2, 3]) ival1 = parse_index(index1) ival2 = parse_index(index2) oival = infer_index_value(ival1, ival2) assert isinstance(oival.value, IndexValue.Int64Index) assert oival.key != ival1.key assert oival.key != ival2.key # different index type index1 = pd.Int64Index([1, 2]) index2 = pd.Float64Index([2.0, 3.0]) ival1 = parse_index(index1) ival2 = parse_index(index2) oival = infer_index_value(ival1, ival2) assert isinstance(oival.value, IndexValue.Float64Index) assert oival.key != ival1.key assert oival.key != ival2.key # range index and other index index1 = pd.RangeIndex(1, 4) index2 = pd.Float64Index([2, 3, 4]) ival1 = parse_index(index1) ival2 = parse_index(index2) oival = infer_index_value(ival1, ival2) assert isinstance(oival.value, IndexValue.Float64Index) assert oival.key != ival1.key assert oival.key != ival2.key index1 = pd.DatetimeIndex([]) index2 = pd.RangeIndex(2) ival1 = parse_index(index1) ival2 = parse_index(index2) oival = infer_index_value(ival1, ival2) assert isinstance(oival.value, IndexValue.Index) assert oival.key != ival1.key assert oival.key != ival2.key