def test_next_image(self): setting.HypercuboidSetting(beta=1.0, dimension=3, system_lengths=[1.0, 2.0, 3.0]) self.assertEqual(setting.periodic_boundaries.next_image(0.4, 0), 1.4) self.assertEqual(setting.periodic_boundaries.next_image(0.6, 1), 2.6) self.assertEqual(setting.periodic_boundaries.next_image(2.0, 2), 5.0)
def test_integer_casting_dimension(self): setting.reset() # noinspection PyTypeChecker setting.HypercuboidSetting(beta=1.0, dimension=2.8, system_lengths=[1.0, 2.0]) self.assertEqual(setting.dimension, 2) self.assertIsNone(hypercubic_setting.dimension) self.assertEqual(hypercuboid_setting.dimension, 2)
def test_separation_vector(self): setting.HypercuboidSetting(beta=1.0, dimension=3, system_lengths=[1.0, 2.0, 3.0]) position_one = [0.5, 1.6, 2.3] position_two = [0.2, 0.1, 0.9] self.assertAlmostEqualList( setting.periodic_boundaries.separation_vector( position_one, position_two), [-0.3, 0.5, -1.4], places=13)
def test_correct_periodic_boundary_separation_entry(self): setting.HypercuboidSetting(beta=1.0, dimension=4, system_lengths=[1.0, 2.0, 3.0, 4.0]) separation = [-0.5, -1.3, 2.4, 1.5] separation[3] = setting.periodic_boundaries.correct_separation_entry( separation[3], 3) self.assertAlmostEqualList(separation, [-0.5, -1.3, 2.4, 1.5], places=13) separation = [-0.6, 1.3, 2.4, 6.9] separation[0] = setting.periodic_boundaries.correct_separation_entry( separation[0], 0) self.assertAlmostEqualList(separation, [0.4, 1.3, 2.4, 6.9], places=13)
def test_correct_periodic_boundary_separation(self): setting.HypercuboidSetting(beta=1.0, dimension=4, system_lengths=[1.0, 2.0, 3.0, 4.0]) separation = [-0.5, -0.8, 1.4, 2.0] setting.periodic_boundaries.correct_separation(separation) self.assertAlmostEqualList(separation, [-0.5, -0.8, 1.4, -2.0], places=13) separation = [-0.6, 1.3, 0.4, 1.9] setting.periodic_boundaries.correct_separation(separation) self.assertAlmostEqualList(separation, [0.4, -0.7, 0.4, 1.9], places=13) setting.system_length = None setting.system_length_over_two = None setting.dimension = None
def test_correct_periodic_boundary_position(self): setting.HypercuboidSetting(beta=1.0, dimension=3, system_lengths=[1.0, 2.0, 3.0]) position = [0.1, 1.4, 2.9] setting.periodic_boundaries.correct_position(position) self.assertEqual(position, [0.1, 1.4, 2.9]) position = [0.0, 2.0, 1.0] setting.periodic_boundaries.correct_position(position) self.assertAlmostEqualList(position, [0.0, 0.0, 1.0], places=13) position = [-0.3, 1.4, 3.9] setting.periodic_boundaries.correct_position(position) self.assertAlmostEqualList(position, [0.7, 1.4, 0.9], places=13) position = [-10.0, 102.231, 2.999999] setting.periodic_boundaries.correct_position(position) self.assertAlmostEqualList(position, [0.0, 0.231, 2.999999], places=13)
def test_new_initialize_hypercuboid_setting_raises_error(self): with self.assertRaises(AttributeError): setting.HypercuboidSetting(beta=1.0, dimension=3, system_lengths=[1.0, 2.0, 3.0])
def setUp(self) -> None: setting.HypercuboidSetting(beta=2, dimension=5, system_lengths=[1.0, 2.0, 3.0, 4.0, 5.0])
def test_dimension_zero_raises_error(self): setting.reset() with self.assertRaises(AttributeError): setting.HypercuboidSetting(beta=1, dimension=0, system_lengths=[1.0, 2.0, 3.0])
def test_negative_system_length_raises_error(self): setting.reset() with self.assertRaises(AttributeError): setting.HypercuboidSetting(beta=1, dimension=3, system_lengths=[-1.0, 2.0, 3.0])