def test_index_creation_a(self) -> None: idx = Index(('a', 'b', 'c', 'd')) #idx2 = idx['b':'d'] self.assertEqual(idx.values.tolist(), ['a', 'b', 'c', 'd']) self.assertEqual(idx[2:].values.tolist(), ['c', 'd']) #type: ignore self.assertEqual( idx.loc['b':].values.tolist(), ['b', 'c', 'd' ]) # type: ignore # https://github.com/python/typeshed/pull/3024 self.assertEqual( idx.loc['b':'d'].values.tolist(), ['b', 'c', 'd' ]) # type: ignore # https://github.com/python/typeshed/pull/3024 self.assertEqual(idx.loc_to_iloc(['b', 'b', 'c']), [1, 1, 2]) self.assertEqual(idx.loc['c'], 'c') idxgo = IndexGO(('a', 'b', 'c', 'd')) self.assertEqual(idxgo.values.tolist(), ['a', 'b', 'c', 'd']) idxgo.append('e') self.assertEqual(idxgo.values.tolist(), ['a', 'b', 'c', 'd', 'e']) idxgo.extend(('f', 'g')) self.assertEqual(idxgo.values.tolist(), ['a', 'b', 'c', 'd', 'e', 'f', 'g'])
def test_index_creation_a(self): idx = Index(('a', 'b', 'c', 'd')) #idx2 = idx['b':'d'] self.assertEqual(idx.values.tolist(), ['a', 'b', 'c', 'd']) self.assertEqual(idx[2:].values.tolist(), ['c', 'd']) self.assertEqual(idx.loc['b':].values.tolist(), ['b', 'c', 'd']) self.assertEqual(idx.loc['b':'d'].values.tolist(), ['b', 'c', 'd']) self.assertEqual(idx.loc_to_iloc(['b', 'b', 'c']), [1, 1, 2]) self.assertEqual(idx.loc['c'].values.tolist(), ['c']) idxgo = IndexGO(('a', 'b', 'c', 'd')) self.assertEqual(idxgo.values.tolist(), ['a', 'b', 'c', 'd']) idxgo.append('e') self.assertEqual(idxgo.values.tolist(), ['a', 'b', 'c', 'd', 'e']) idxgo.extend(('f', 'g')) self.assertEqual(idxgo.values.tolist(), ['a', 'b', 'c', 'd', 'e', 'f', 'g'])
def test_index_grow_only_a(self) -> None: index = IndexGO(('a', 'b', 'c')) index.append('d') self.assertEqual(index.loc_to_iloc('d'), 3) index.extend(('e', 'f')) self.assertEqual(index.loc_to_iloc('e'), 4) self.assertEqual(index.loc_to_iloc('f'), 5) # creating an index form an Index go takes the np arrays, but not the mutable bits index2 = Index(index) index.append('h') self.assertEqual(len(index2), 6) self.assertEqual(len(index), 7) index3 = index[2:] index3.append('i') self.assertEqual(index3.values.tolist(), ['c', 'd', 'e', 'f', 'h', 'i']) self.assertEqual(index.values.tolist(), ['a', 'b', 'c', 'd', 'e', 'f', 'h'])
def test_index_binary_operators_d(self) -> None: idx = IndexGO((20, 30, 40)) idx.extend((50, 60)) a1 = idx * 2 self.assertEqual(a1.tolist(), [40, 60, 80, 100, 120])