From a3436bd94534d3aeee9eefa9184d0aa3c8c82748 Mon Sep 17 00:00:00 2001 From: Sam Cox Date: Tue, 5 Mar 2024 21:46:54 -0800 Subject: [PATCH] setting up packmol tests --- .../base_tools/preprocess_tools/packing.py | 2 +- tests/test_packing.py | 44 +++++++++++++++++++ 2 files changed, 45 insertions(+), 1 deletion(-) create mode 100644 tests/test_packing.py diff --git a/mdagent/tools/base_tools/preprocess_tools/packing.py b/mdagent/tools/base_tools/preprocess_tools/packing.py index 1df85cb1..9e5843f4 100644 --- a/mdagent/tools/base_tools/preprocess_tools/packing.py +++ b/mdagent/tools/base_tools/preprocess_tools/packing.py @@ -67,7 +67,7 @@ def __init__( ): self.path_registry = path_registry self.molecules = [] - self.file_number = 1 + self.file_number = file_number self.file_description = file_description self.final_name = None diff --git a/tests/test_packing.py b/tests/test_packing.py new file mode 100644 index 00000000..cfe96865 --- /dev/null +++ b/tests/test_packing.py @@ -0,0 +1,44 @@ +import os + +import pytest + +from mdagent.tools.base_tools.preprocess_tools.packing import Molecule, PackmolBox +from mdagent.utils import PathRegistry + + +@pytest.fixture +def get_registry(): + return PathRegistry() + + +@pytest.fixture +def packmolbox(get_registry): + return PackmolBox(get_registry) + + +@pytest.fixture +def dummy_molecule(): + return Molecule( + filename="water", file_id=100, number_of_molecules=2, instructions=None + ) + + +def test_add_molecule(packmolbox, dummy_molecule): + initial_length = len(packmolbox.molecules) + packmolbox.add_molecule(dummy_molecule) + assert len(packmolbox.molecules) == initial_length + 1 + + +def test_generate_input_header(packmolbox): + packmolbox.generate_input_header() + # assert file packmol.inp exists + assert os.path.isfile("packmol.inp") + os.remove("packmol.inp") + + +def test_generate_input(packmolbox, dummy_molecule): + packmolbox.add_molecule(dummy_molecule) + output = packmolbox.generate_input() + assert "structure water" in output + assert "number 2" in output + assert "end structure" in output