Skip to content

Commit f885241

Browse files
committed
tests for pathsampling
1 parent a4c2a4b commit f885241

3 files changed

Lines changed: 53 additions & 8 deletions

File tree

‎paths_cli/commands/pathsampling.py‎

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@
1515
@SCHEME.clicked(required=False)
1616
@INIT_CONDS.clicked(required=False)
1717
@N_STEPS_MC
18-
def path_sampling(input_file, output_file, scheme, init_conds, nsteps):
18+
def pathsampling(input_file, output_file, scheme, init_conds, nsteps):
1919
"""General path sampling, using setup in INPUT_FILE"""
2020
storage = INPUT_FILE.get(input_file)
21-
path_sampling_main(output_storage=OUTPUT_FILE.get(output_file),
22-
scheme=SCHEME.get(storage, scheme),
23-
init_conds=INIT_CONDS.get(storage, init_conds),
24-
n_steps=nsteps)
21+
pathsampling_main(output_storage=OUTPUT_FILE.get(output_file),
22+
scheme=SCHEME.get(storage, scheme),
23+
init_conds=INIT_CONDS.get(storage, init_conds),
24+
n_steps=nsteps)
2525

26-
def path_sampling_main(output_storage, scheme, init_conds, n_steps):
26+
def pathsampling_main(output_storage, scheme, init_conds, n_steps):
2727
import openpathsampling as paths
2828
init_conds = scheme.initial_conditions_from_trajectories(init_conds)
2929
simulation = paths.PathSampling(
@@ -37,6 +37,6 @@ def path_sampling_main(output_storage, scheme, init_conds, n_steps):
3737
return simulation.sample_set, simulation
3838

3939

40-
CLI = path_sampling
40+
CLI = pathsampling
4141
SECTION = "Simulation"
4242
REQUIRES_OPS = (1, 0)

‎paths_cli/tests/commands/test_equilibrate.py‎

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
import os
22
import pytest
3-
from unittest.mock import patch, MagicMock
3+
from unittest.mock import patch
44
import tempfile
55
from click.testing import CliRunner
66

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
import os
2+
import pytest
3+
from unittest.mock import patch
4+
import tempfile
5+
from click.testing import CliRunner
6+
7+
import openpathsampling as paths
8+
9+
from paths_cli.commands.pathsampling import *
10+
11+
def print_test(output_storage, scheme, init_conds, n_steps):
12+
print(isinstance(output_storage, paths.Storage))
13+
print(scheme.__uuid__)
14+
print(init_conds.__uuid__)
15+
print(n_steps)
16+
17+
@patch('paths_cli.commands.pathsampling.pathsampling_main', print_test)
18+
def test_pathsampling(tps_fixture):
19+
scheme, _, _, init_conds = tps_fixture
20+
runner = CliRunner()
21+
with runner.isolated_filesystem():
22+
storage = paths.Storage("setup.nc", 'w')
23+
for obj in tps_fixture:
24+
storage.save(obj)
25+
storage.tags['initial_conditions'] = init_conds
26+
27+
results = runner.invoke(pathsampling, ['setup.nc', '-o', 'foo.nc',
28+
'-n', '1000'])
29+
assert results.exit_code == 0
30+
expected_output = (f"True\n{scheme.__uuid__}\n{init_conds.__uuid__}"
31+
"\n1000\n")
32+
assert results.output == expected_output
33+
34+
35+
def test_pathsampling_main(tps_fixture):
36+
scheme, _, _, init_conds = tps_fixture
37+
with CliRunner().isolated_filesystem():
38+
storage = paths.Storage("tps.nc", mode='w')
39+
final, sim = pathsampling_main(storage, scheme, init_conds, 10)
40+
assert isinstance(final, paths.SampleSet)
41+
assert isinstance(sim, paths.PathSampling)
42+
assert len(storage.steps) == 11
43+
assert len(storage.schemes) == 1
44+
45+

0 commit comments

Comments
 (0)