1__author__ = "Dilawar Singh"
2__email__ = "dilawar@subcom.tech"
3
4from pathlib import Path
5
6import smoldyn
7import smoldyn._smoldyn as S
8
9sdir = Path(__file__).parent
10
11
12def test_simptr_simobj():
13    s1 = smoldyn.Simulation([0, 0], [10, 10])
14    assert s1
15    assert s1.getSimPtr()
16    assert s1.simptr == s1.getSimPtr()
17    assert s1.simptr.dt == 0.0, "dt should be initialized to 0"
18
19    modelfile = sdir / "min.txt"
20    s2 = smoldyn.Simulation.fromFile(modelfile, "")  # type: Simulation
21
22    assert s2
23    assert s2.getSimPtr() and s2.getSimPtr() == s2.simptr
24
25    assert s2.start == 0.0
26    assert s2.stop == 500
27    assert s2.dt == 0.002
28    s2.addOutputData('moments')
29    s2.addCommand("molmoments MinD_ATP(front) moments", "N", step=10)
30    s2.run(stop=100, dt=1)
31    data = s2.getOutputData("moments")
32    assert len(data) == 11, len(data)
33    for row in data:
34        print(row)
35
36
37
38if __name__ == "__main__":
39    test_simptr_simobj()
40