def test_array_deepcopy_a(self) -> None:
     ag1 = ArrayGO(np.array(('a', 'b', 'c', 'd'), dtype=object))
     ag1.append('e')
     ag1.extend(('f', 'g'))
     ag2 = copy.deepcopy(ag1)
     self.assertEqual(ag1._array.tolist(),
                      ag2._array.tolist())  #type: ignore
    def test_array_copy_a(self):

        ag1 = ArrayGO(np.array(('a', 'b', 'c', 'd'), object))
        ag1.append('e')

        ag2 = ag1.copy()
        ag1.extend(('f', 'g'))

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

        self.assertEqual(ag2.values.tolist(), ['a', 'b', 'c', 'd', 'e'])
    def test_array_append_b(self):

        ag1 = ArrayGO(np.array(('a', 'b', 'c', 'd'), object))

        self.assertEqual([x for x in ag1], ['a', 'b', 'c', 'd'])

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

        ag1.append('e')
        ag1.extend(('f', 'g'))

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

        self.assertEqual([x for x in ag1], ['a', 'b', 'c', 'd', 'e', 'f', 'g'])
    def test_array_append_a(self) -> None:

        ag1 = ArrayGO(('a', 'b', 'c', 'd'))

        self.assertEqual([x for x in ag1], ['a', 'b', 'c', 'd'])

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

        ag1.append('e')
        ag1.extend(('f', 'g'))

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

        self.assertEqual([x for x in ag1], ['a', 'b', 'c', 'd', 'e', 'f', 'g'])