51 lines
1.4 KiB
Python
51 lines
1.4 KiB
Python
from diceplayer.shared.environment.atom import Atom
|
|
from diceplayer.shared.environment.molecule import Molecule
|
|
from diceplayer.shared.environment.system import System
|
|
|
|
import unittest
|
|
|
|
|
|
class TestSystem(unittest.TestCase):
|
|
def test_class_instantiation(self):
|
|
system = System()
|
|
|
|
self.assertIsInstance(system, System)
|
|
|
|
def test_add_type(self):
|
|
system = System()
|
|
system.add_type(0, Molecule('test'))
|
|
|
|
self.assertIsInstance(system.molecule, list)
|
|
self.assertIsInstance(system.nmols, list)
|
|
|
|
with self.assertRaises(TypeError) as ex:
|
|
system.add_type(0, 'test')
|
|
self.assertEqual(ex.exception, 'Error: molecule is not a Molecule instance')
|
|
|
|
with self.assertRaises(TypeError) as ex:
|
|
system.add_type('test', Molecule('test'))
|
|
self.assertEqual(ex.exception, 'Error: nmols is not an integer')
|
|
|
|
def test_center_of_mass_distance(self):
|
|
system = System()
|
|
|
|
a = Molecule('test')
|
|
a.add_atom(
|
|
Atom(lbl=0, na=1, rx=0, ry=0, rz=0, chg=0, eps=0, sig=0)
|
|
)
|
|
system.add_type(1, a)
|
|
|
|
b = Molecule('test')
|
|
b.add_atom(
|
|
Atom(lbl=0, na=1, rx=0, ry=0, rz=0, chg=0, eps=0, sig=0)
|
|
)
|
|
system.add_type(1, b)
|
|
|
|
self.assertIsInstance(system.center_of_mass_distance(0, 1), float)
|
|
|
|
|
|
|
|
|
|
if __name__ == '__main__':
|
|
unittest.main()
|