Exemplo n.º 1
0
    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'])
Exemplo n.º 2
0
    def test_index_go_append(self, values: tp.Sequence[tp.Hashable]) -> None:

        index = IndexGO(values[:-1])
        length_start = len(index)
        index.append(values[-1])
        length_end = len(index)
        self.assertEqual(length_start + 1, length_end)
Exemplo n.º 3
0
 def test_index_copy_a(self) -> None:
     idx1 = IndexGO(('a', 'b', 'c'))
     idx1.append('d')
     idx2 = idx1.copy()
     idx2.append('e')
     self.assertEqual(idx2.values.tolist(), ['a', 'b', 'c', 'd', 'e'])
     self.assertEqual(idx1.values.tolist(), ['a', 'b', 'c', 'd'])
Exemplo n.º 4
0
    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'])
Exemplo n.º 5
0
    def test_index_go_append(self, values):

        index = IndexGO(values[:-1])
        length_start = len(index)
        index.append(values[-1])
        length_end = len(index)
        self.assertEqual(length_start + 1, length_end)
Exemplo n.º 6
0
    def test_index_go_b(self) -> None:

        index = IndexGO(('a', 'b', 'c'))
        index.append('d')
        self.assertEqual(len(index.__slots__), 8)
        self.assertFalse(index.STATIC)
        self.assertEqual(index._IMMUTABLE_CONSTRUCTOR, Index)
        self.assertEqual(Index._MUTABLE_CONSTRUCTOR, IndexGO)
Exemplo n.º 7
0
    def test_index_extract_iloc_a(self) -> None:

        idx = IndexGO(('a', 'b', 'c', 'd'))
        idx.append('e')
        post = idx._extract_iloc(slice(None))
        self.assertEqual(
            post.values.tolist(),  #type: ignore
            ['a', 'b', 'c', 'd', 'e'])
Exemplo n.º 8
0
    def test_index_via_str_b(self) -> None:

        idx1 = IndexGO(('a', 'b', 'c', 'd', 'e'))

        idx1.append('f')
        idx1.append('g')

        a1 = idx1.via_str.upper()
        self.assertEqual(a1.tolist(), ['A', 'B', 'C', 'D', 'E', 'F', 'G'])
Exemplo n.º 9
0
    def test_index_union_a(self) -> None:

        idx1 = IndexGO(('a', 'b', 'c', 'd', 'e'))
        idx1.append('f')
        a1 = np.array(['c', 'dd', 'b', 'a'])

        idx2 = idx1.union(a1)

        self.assertEqual(idx2.values.tolist(),
                         ['a', 'b', 'c', 'd', 'dd', 'e', 'f'])
Exemplo n.º 10
0
    def test_index_name_c(self) -> None:

        idx1 = IndexGO(('a', 'b', 'c', 'd'), name='foo')
        self.assertEqual(idx1.name, 'foo')

        idx2 = idx1.rename('bar')
        self.assertEqual(idx2.name, 'bar')

        idx1.append('e')
        idx2.append('x')

        self.assertEqual(idx1.values.tolist(), ['a', 'b', 'c', 'd', 'e'])

        self.assertEqual(idx2.values.tolist(), ['a', 'b', 'c', 'd', 'x'])
Exemplo n.º 11
0
    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'])
Exemplo n.º 12
0
    def test_index_go_e(self) -> None:

        index = IndexGO((), loc_is_iloc=True)
        index.append(0)
        self.assertTrue(index._map is None)

        index.append(1)
        self.assertTrue(1 in index)
        self.assertFalse('a' in index)
        self.assertTrue(index._map is None)

        index.append(-1)
        self.assertFalse(index._map is None)
        self.assertTrue(-1 in index)
        self.assertTrue(1 in index)
Exemplo n.º 13
0
    def test_index_drop_iloc_b(self) -> None:

        idx = IndexGO(('a', 'b', 'c', 'd'))
        idx.append('e')
        post = idx._drop_iloc(None)
        self.assertEqual(post.values.tolist(), ['a', 'b', 'c', 'd', 'e'])
Exemplo n.º 14
0
    def test_index_go_c(self) -> None:

        index = IndexGO(('a', (2, 5), 'c'))
        with self.assertRaises(KeyError):
            index.append((2, 5))
Exemplo n.º 15
0
    def test_index_bool_b(self) -> None:

        idx1 = IndexGO(())
        self.assertFalse(bool(idx1))
        idx1.append('a')
        self.assertTrue(bool(idx1))
Exemplo n.º 16
0
 def test_index_ndim_a(self) -> None:
     idx = IndexGO(('a', 'b', 'c', 'd'))
     self.assertEqual(idx.ndim, 1)
     idx.append('e')
     self.assertEqual(idx.ndim, 1)
Exemplo n.º 17
0
    def test_index_reversed_a(self) -> None:

        idx1 = IndexGO(('a', 'b', 'c'), name='foo')
        idx1.append('d')
        self.assertEqual(list(reversed(idx1)), ['d', 'c', 'b', 'a'])
Exemplo n.º 18
0
 def test_index_unary_operators_b(self) -> None:
     idx = IndexGO((20, 30, 40))
     idx.append(50)
     a1 = -idx
     self.assertEqual(a1.tolist(), [-20, -30, -40, -50])
Exemplo n.º 19
0
 def test_index_mloc_b(self) -> None:
     idx = IndexGO(('a', 'b', 'c', 'd'))
     idx.append('e')
     self.assertTrue(idx.mloc == idx[:2].mloc)  #type: ignore
Exemplo n.º 20
0
 def test_index_dtype_a(self) -> None:
     idx = IndexGO(('a', 'b', 'c', 'd'))
     self.assertEqual(str(idx.dtype), '<U1')
     idx.append('eee')
     self.assertEqual(str(idx.dtype), '<U3')
Exemplo n.º 21
0
 def test_index_rename_a(self) -> None:
     idx1 = IndexGO(('a', 'b', 'c', 'd'), name='foo')
     idx1.append('e')
     idx2 = idx1.rename('bar')
     self.assertEqual(idx2.name, 'bar')
Exemplo n.º 22
0
 def test_index_nbytes_a(self) -> None:
     idx = IndexGO(('a', 'b', 'c', 'd'))
     self.assertEqual(idx.nbytes, 16)
     idx.append('e')
     self.assertEqual(idx.nbytes, 20)
Exemplo n.º 23
0
 def test_index_size_a(self) -> None:
     idx = IndexGO(('a', 'b', 'c', 'd'))
     self.assertEqual(idx.size, 4)
     idx.append('e')
     self.assertEqual(idx.size, 5)
Exemplo n.º 24
0
    def test_index_ufunc_axis_b(self) -> None:

        idx = IndexGO((30, 40, 20))
        idx.append(10)
        self.assertEqual(idx.sum(), 100)
Exemplo n.º 25
0
    def test_index_iter_a(self) -> None:

        idx1 = IndexGO(('a', 'b', 'c'), name='foo')
        idx1.append('d')
        self.assertEqual(list(idx1), ['a', 'b', 'c', 'd'])
Exemplo n.º 26
0
 def test_index_equals_f(self) -> None:
     a = IndexGO([1, 2, 3])
     b = IndexGO([1, 2, 3])
     b.append(4)
     self.assertFalse(a.equals(b))
Exemplo n.º 27
0
    def test_index_positions_a(self) -> None:
        idx1 = IndexGO(('a', 'b', 'c', 'd'), name='foo')
        self.assertEqual(idx1.positions.tolist(), list(range(4)))

        idx1.append('e')
        self.assertEqual(idx1.positions.tolist(), list(range(5)))
Exemplo n.º 28
0
 def test_index_shape_a(self) -> None:
     idx = IndexGO(('a', 'b', 'c', 'd'))
     self.assertEqual(idx.shape, (4, ))
     idx.append('e')
     self.assertEqual(idx.shape, (5, ))