Commit 58b2a321 authored by Evan Pretti's avatar Evan Pretti
Browse files

Add test case for relative import within data directory

parent d942cf62
......@@ -6,6 +6,8 @@ from openmm.unit import *
import openmm.app.element as elem
import openmm.app.forcefield as forcefield
import math
import shutil
import tempfile
import textwrap
try:
from cStringIO import StringIO
......@@ -1254,6 +1256,23 @@ class TestForceField(unittest.TestCase):
self.assertTrue('spce-O' in forcefield._atomTypes)
self.assertTrue('HOH' in forcefield._templates)
def test_IncludesFromDataDirectory(self):
"""Test relative include paths from subdirectories of the data directory."""
oldDataDirs = forcefield._dataDirectories
try:
with tempfile.TemporaryDirectory() as tempDataDir:
forcefield._dataDirectories = forcefield._getDataDirectories() + [tempDataDir]
os.mkdir(os.path.join(tempDataDir, 'subdir'))
for testFileName in ['ff_with_includes.xml', 'test_amber_ff.xml']:
shutil.copyfile(os.path.join('systems', testFileName), os.path.join(tempDataDir, 'subdir', testFileName))
ff = ForceField(os.path.join('subdir', 'ff_with_includes.xml'))
self.assertTrue(len(ff._atomTypes) > 10)
self.assertTrue('spce-O' in ff._atomTypes)
self.assertTrue('HOH' in ff._templates)
finally:
forcefield._dataDirectories = oldDataDirs
def test_ImpropersOrdering(self):
"""Test correctness of the ordering of atom indexes in improper torsions
and the torsion.ordering parameter.
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment