Skip to content

Commit

Permalink
further tests
Browse files Browse the repository at this point in the history
  • Loading branch information
PythonFZ committed Dec 13, 2023
1 parent b8820b9 commit 2b5fa4a
Show file tree
Hide file tree
Showing 2 changed files with 68 additions and 1 deletion.
60 changes: 60 additions & 0 deletions tests/test_server.py
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,66 @@ def test_vis_len(self, server):
# vis.selection = [1, 2]
# assert vis.selection == [1, 2]

def test_insert_before(self, server):
self.driver.get(server)
time.sleep(1)
s22 = list(ase.collections.s22)
vis = ZnDraw(url=server)
vis.extend(s22)
del vis[0]
assert len(vis) == 22
assert list(vis) == s22

vis.step = 10
assert len(vis) == 22
vis.insert(0, s22[5])
assert len(vis) == 23
# assert vis.step == 11 # TODO: fix vis.step assertion
assert vis[0] == s22[5]
assert vis[1] == s22[0]
assert vis[2] == s22[1]


def test_insert_after(self, server):
self.driver.get(server)
time.sleep(1)
s22 = list(ase.collections.s22)
vis = ZnDraw(url=server)
vis.extend(s22)
del vis[0]
assert len(vis) == 22
assert list(vis) == s22

vis.step = 10
assert len(vis) == 22
vis.insert(11, s22[5])
assert len(vis) == 23
# assert vis.step == 10
assert vis[10] == s22[10]
assert vis[11] == s22[5]
assert vis[12] == s22[11]

def test_append_to_non_empty(self, server):
self.driver.get(server)
time.sleep(1)
vis = ZnDraw(url=server)
vis.append(molecule("H2O"))
vis.append(molecule("H2O"))
assert len(vis) == 3
assert vis[0] == ase.Atoms()
assert vis[1] == molecule("H2O")
assert vis[2] == molecule("H2O")

def test_extend_to_non_empty(self, server):
self.driver.get(server)
time.sleep(1)
vis = ZnDraw(url=server)
vis.extend([molecule("H2O"), molecule("H2O")])
assert len(vis) == 3
assert vis[0] == ase.Atoms()
assert vis[1] == molecule("H2O")
assert vis[2] == molecule("H2O")

def test_delete_backwards(self, server):
self.driver.get(server)
time.sleep(1)
Expand Down
9 changes: 8 additions & 1 deletion zndraw/zndraw.py
Original file line number Diff line number Diff line change
Expand Up @@ -124,7 +124,14 @@ def insert(self, index, value: t.Union[ase.Atoms, Frame]):
"""Insert atoms before index"""
if isinstance(value, ase.Atoms):
value = Frame.from_atoms(value)
self.socket.emit("atoms:insert", {index: value.to_dict()})

data = list(self)
data.insert(index, value)
for idx, val in enumerate(data):
self[idx] = val

# TODO: why is this not working at the moment?
# self.socket.emit("atoms:insert", {index: value.to_dict()})

def append(self, value: t.Union[ase.Atoms, Frame]) -> None:
"""Append atoms to the end of the list"""
Expand Down

0 comments on commit 2b5fa4a

Please sign in to comment.