8000 Test `Group`'s `move` method · rjgildea/zarr-python@3c1eecf · GitHub
[go: up one dir, main page]

Skip to content

Commit 3c1eecf

Browse files
committed
Test Group's move method
Try a variety of scenarios with `move` to make sure it works correctly.
1 parent c695e9c commit 3c1eecf

File tree

1 file changed

+37
-0
lines changed

1 file changed

+37
-0
lines changed

zarr/tests/test_hierarchy.py

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -685,6 +685,43 @@ def test_delitem(self):
685685
assert 'bar' not in g
686686
assert 'bar/baz' not in g
687687

688+
def test_move(self):
689+
g = self.create_group()
690+
691+
data = np.arange(100)
692+
g['foo'] = data
693+
694+
try:
695+
g.move('foo', 'bar')
696+
assert 'foo' not in g
697+
assert 'bar' in g
698+
assert_array_equal(data, g['bar'])
699+
700+
g.move('bar', 'foo/bar')
701+
assert 'bar' not in g
702+
assert 'foo' in g
703+
assert 'foo/bar' in g
704+
assert isinstance(g['foo'], Group)
705+
assert_array_equal(data, g['foo/bar'])
706+
707+
g.move('foo', 'foo2')
708+
assert 'foo' not in g
709+
assert 'foo/bar' not in g
710+
assert 'foo2' in g
711+
assert 'foo2/bar' in g
712+
assert isinstance(g['foo2'], Group)
713+
assert_array_equal(data, g['foo2/bar'])
714+
715+
g2 = g['foo2']
716+
g2.move('bar', '/bar')
717+
assert 'foo2' in g
718+
assert 'foo2/bar' not in g
719+
assert 'bar' in g
720+
assert isinstance(g['foo2'], Group)
721+
assert_array_equal(data, g['bar'])
722+
except NotImplementedError:
723+
pass
724+
688725
def test_array_creation(self):
689726
grp = self.create_group()
690727

0 commit comments

Comments
 (0)
0