def test3(self):
        print "Test CollisionHandler with collision code class, arguments and parameters"
        colliders = Particles(2)
        handler = CollisionHandler(
            CollisionCodeForTesting,
            collision_code_arguments=dict(next_mass=5 | units.kg),
            collision_code_parameters=dict(mass_unit=units.g))

        result = handler.handle_collision(colliders[0], colliders[1])
        self.assertTrue(isinstance(result, Particles))
        self.assertEqual(result.mass, 5 | units.kg)
        self.assertTrue(result.mass.unit is units.g)

        result = handler.handle_collision(colliders[0], colliders[1])
        self.assertEqual(result.mass, 5 | units.kg)
        self.assertTrue(result.mass.unit is units.g)

        handler.collision_code_arguments = dict(next_mass=42 | units.kg)
        handler.collision_code_parameters = dict(mass_unit=units.MSun)
        result = handler.handle_collision(colliders[0], colliders[1])
        self.assertEqual(result.mass, 42 | units.kg)
        self.assertTrue(result.mass.unit is units.MSun)
Example #2
0
 def test3(self):
     print "Test CollisionHandler with collision code class, arguments and parameters"
     colliders = Particles(2)
     handler = CollisionHandler(
         CollisionCodeForTesting, 
         collision_code_arguments=dict(next_mass=5|units.kg),
         collision_code_parameters=dict(mass_unit=units.g)
     )
     
     result = handler.handle_collision(colliders[0], colliders[1])
     self.assertTrue(isinstance(result, Particles))
     self.assertEqual(result.mass, 5 | units.kg)
     self.assertTrue(result.mass.unit is units.g)
     
     result = handler.handle_collision(colliders[0], colliders[1])
     self.assertEqual(result.mass, 5 | units.kg)
     self.assertTrue(result.mass.unit is units.g)
     
     handler.collision_code_arguments = dict(next_mass=42|units.kg)
     handler.collision_code_parameters = dict(mass_unit=units.MSun)
     result = handler.handle_collision(colliders[0], colliders[1])
     self.assertEqual(result.mass, 42 | units.kg)
     self.assertTrue(result.mass.unit is units.MSun)