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])
예제 #10
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])