def test9(self): print "Test SmallNInterface evolve_model" instance = SmallNInterface() self.assertEquals(0, instance.initialize_code()) self.assertEquals(0, instance.set_eta(0.001)) self.assertEquals(0, instance.commit_parameters()) # Set up an equal-mass binary on a circular orbit: self.assertEquals([1, 0], instance.new_particle(0.5, 0.5, 0, 0, 0, 0.5, 0, 0.01).values()) self.assertEquals([2, 0], instance.new_particle(0.5, -0.5, 0, 0, 0, -0.5, 0, 0.01).values()) self.assertEquals(0, instance.commit_particles()) self.assertEquals(0, instance.evolve_model(math.pi)) for result, expected in zip( instance.get_position(1).values(), [-0.5, 0.0, 0.0, 0]): self.assertAlmostEquals(result, expected, 3) for result, expected in zip( instance.get_position(2).values(), [0.5, 0.0, 0.0, 0]): self.assertAlmostEquals(result, expected, 3) self.assertEquals(0, instance.evolve_model(2 * math.pi)) #print instance.get_time() #print instance.get_position(1), instance.get_velocity(1) #print instance.get_position(2) #for result, expected in zip(instance.get_position(1).values(), [0.5, 0.0, 0.0, 0]): # self.assertAlmostEquals(result, expected, 3) #for result, expected in zip(instance.get_position(2).values(), [-0.5, 0.0, 0.0, 0]): # self.assertAlmostEquals(result, expected, 3) self.assertEquals(0, instance.cleanup_code()) instance.stop()