Skip to content

Commit b47da5f

Browse files
Copilotljwoods2orbeckst
authored
Add test for incorrect number of atoms error in IMDClient (#92)
* fix #84 * Add test for incorrect number of atoms error --------- Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com> Co-authored-by: ljwoods2 <145226270+ljwoods2@users.noreply.github.com> Co-authored-by: Oliver Beckstein <orbeckst@gmail.com>
1 parent d46c802 commit b47da5f

File tree

1 file changed

+29
-1
lines changed

1 file changed

+29
-1
lines changed

imdclient/tests/test_imdclient.py

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,7 +79,22 @@ def server_client(self, universe, imdsinfo, request):
7979
client = IMDClient(
8080
f"localhost",
8181
server.port,
82-
universe.trajectory.n_atoms,
82+
universe.atoms.n_atoms,
83+
)
84+
server.join_accept_thread()
85+
yield server, client
86+
client.stop()
87+
server.cleanup()
88+
89+
@pytest.fixture
90+
def server_client_incorrect_atoms(self, universe, imdsinfo):
91+
server = InThreadIMDServer(universe.trajectory)
92+
server.set_imdsessioninfo(imdsinfo)
93+
server.handshake_sequence("localhost", first_frame=False)
94+
client = IMDClient(
95+
f"localhost",
96+
server.port,
97+
universe.atoms.n_atoms + 1,
8398
)
8499
server.join_accept_thread()
85100
yield server, client
@@ -163,6 +178,19 @@ def test_continue_after_disconnect(self, universe, imdsinfo, cont):
163178
IMDHeaderType.IMD_WAIT, expected_length=(int)(not cont)
164179
)
165180

181+
def test_incorrect_atom_count(self, server_client_incorrect_atoms, universe):
182+
server, client = server_client_incorrect_atoms
183+
184+
server.send_frame(0)
185+
186+
with pytest.raises(EOFError) as exc_info:
187+
client.get_imdframe()
188+
189+
error_msg = str(exc_info.value)
190+
assert f"Expected n_atoms value {universe.atoms.n_atoms + 1}" in error_msg
191+
assert f"got {universe.atoms.n_atoms}" in error_msg
192+
assert "Ensure you are using the correct topology file" in error_msg
193+
166194

167195
class TestIMDClientV3ContextManager:
168196
@pytest.fixture

0 commit comments

Comments
 (0)