示例#1
0
    def test14(self):
        centre, orbiters = new_solar_system_for_mercury()
        oneyear = 365.14 | units.day
        halfyear = oneyear / 2.0
        mercury = MercuryWayWard()
        mercury.initialize_code()
        mercury.commit_parameters()

        mercury.central_particle.add_particles(centre)
        mercury.orbiters.add_particles(orbiters)

        start_pos = mercury.orbiters[2].position
        mercury.evolve_model(halfyear)
        central_particles = mercury.central_particle.copy()
        orbiters = mercury.orbiters.copy()
        mercury.stop()
        
        mercury = MercuryWayWard()
        mercury.initialize_code()
        mercury.parameters.begin_time = halfyear
        mercury.commit_parameters()

        mercury.central_particle.add_particles(centre)
        mercury.orbiters.add_particles(orbiters)
        mercury.evolve_model(oneyear)
        self.assertAlmostEqual(mercury.orbiters[2].position, start_pos, 1)
        mercury.stop()
示例#2
0
    def test5(self):
        centre, orbiters = new_solar_system_for_mercury()

        mercury = MercuryWayWard()
        self.assertEqual(mercury.get_name_of_current_state(), 'UNINITIALIZED')
        mercury.initialize_code()
        self.assertEqual(mercury.get_name_of_current_state(), 'INITIALIZED')
        mercury.commit_parameters()
        self.assertEqual(mercury.get_name_of_current_state(), 'EDIT')
        
        mercury.central_particle.add_particles(centre)
        self.assertEqual(mercury.get_name_of_current_state(), 'EDIT')
        mercury.orbiters.add_particles(orbiters)
        self.assertEqual(mercury.get_name_of_current_state(), 'EDIT')

        mercury.commit_particles()
        self.assertEqual(mercury.get_name_of_current_state(), 'RUN')

        start_pos = mercury.orbiters[2].position
        mercury.evolve_model(365.14|units.day)
        self.assertEqual(mercury.get_name_of_current_state(), 'EVOLVED')

        self.assertAlmostEqual(mercury.orbiters[2].position, start_pos, 1)
        mercury.cleanup_code()
        self.assertEqual(mercury.get_name_of_current_state(), 'END')
        mercury.stop()
示例#3
0
    def test14(self):
        centre, orbiters = new_solar_system_for_mercury()
        oneyear = 365.14 | units.day
        halfyear = oneyear / 2.0
        mercury = MercuryWayWard()
        mercury.initialize_code()
        mercury.commit_parameters()

        mercury.central_particle.add_particles(centre)
        mercury.orbiters.add_particles(orbiters)

        start_pos = mercury.orbiters[2].position
        mercury.evolve_model(halfyear)
        central_particles = mercury.central_particle.copy()
        orbiters = mercury.orbiters.copy()
        mercury.stop()
        
        mercury = MercuryWayWard()
        mercury.initialize_code()
        mercury.parameters.begin_time = halfyear
        mercury.commit_parameters()

        mercury.central_particle.add_particles(centre)
        mercury.orbiters.add_particles(orbiters)
        mercury.evolve_model(oneyear)
        self.assertAlmostEqual(mercury.orbiters[2].position, start_pos, 1)
        mercury.stop()
示例#4
0
    def test5(self):
        centre, orbiters = new_solar_system_for_mercury()

        mercury = MercuryWayWard()
        self.assertEquals(mercury.get_name_of_current_state(), 'UNINITIALIZED')
        mercury.initialize_code()
        self.assertEquals(mercury.get_name_of_current_state(), 'INITIALIZED')
        mercury.commit_parameters()
        self.assertEquals(mercury.get_name_of_current_state(), 'EDIT')
        
        mercury.central_particle.add_particles(centre)
        self.assertEquals(mercury.get_name_of_current_state(), 'EDIT')
        mercury.orbiters.add_particles(orbiters)
        self.assertEquals(mercury.get_name_of_current_state(), 'EDIT')

        mercury.commit_particles()
        self.assertEquals(mercury.get_name_of_current_state(), 'RUN')

        start_pos = mercury.orbiters[2].position
        mercury.evolve_model(365.14|units.day)
        self.assertEquals(mercury.get_name_of_current_state(), 'EVOLVED')

        self.assertAlmostEqual(mercury.orbiters[2].position, start_pos, 1)
        mercury.cleanup_code()
        self.assertEquals(mercury.get_name_of_current_state(), 'END')
        mercury.stop()
示例#5
0
    def test8(self):
        centre, orbiters = new_solar_system_for_mercury()

        mercury = MercuryWayWard()#debugger="gdb")
        self.assertEqual(mercury.get_name_of_current_state(), 'UNINITIALIZED')
        mercury.initialize_code()
        self.assertEqual(mercury.get_name_of_current_state(), 'INITIALIZED')
        mercury.commit_parameters()
        self.assertEqual(mercury.get_name_of_current_state(), 'EDIT')
        
        mercury.central_particle.add_particles(centre)
        self.assertEqual(mercury.get_name_of_current_state(), 'EDIT')
        mercury.orbiters.add_particles(orbiters[0:5])
        self.assertEqual(mercury.get_name_of_current_state(), 'EDIT')
        mercury.commit_particles()
        self.assertEqual(mercury.get_name_of_current_state(), 'RUN')

        start_pos = mercury.orbiters[4].position
        mercury.evolve_model(11.8618|units.yr)
        self.assertEqual(mercury.get_name_of_current_state(), 'EVOLVED')
        self.assertAlmostEqual(mercury.orbiters[4].position, start_pos, 1)

        mercury.orbiters.remove_particles(orbiters[0:4])
        self.assertEqual(mercury.get_name_of_current_state(), 'UPDATE')
        mercury.recommit_particles()

        self.assertAlmostEqual(mercury.orbiters[0].position, start_pos, 1)

        start_pos = mercury.orbiters[0].position
        mercury.evolve_model(2*11.8618|units.yr)
        self.assertEqual(mercury.get_name_of_current_state(), 'EVOLVED')
        self.assertAlmostEqual(mercury.orbiters[0].position, start_pos, 1)

        mercury.cleanup_code()
        self.assertEqual(mercury.get_name_of_current_state(), 'END')
        mercury.stop()
示例#6
0
    def test8(self):
        centre, orbiters = new_solar_system_for_mercury()

        mercury = MercuryWayWard()#debugger="gdb")
        self.assertEquals(mercury.get_name_of_current_state(), 'UNINITIALIZED')
        mercury.initialize_code()
        self.assertEquals(mercury.get_name_of_current_state(), 'INITIALIZED')
        mercury.commit_parameters()
        self.assertEquals(mercury.get_name_of_current_state(), 'EDIT')
        
        mercury.central_particle.add_particles(centre)
        self.assertEquals(mercury.get_name_of_current_state(), 'EDIT')
        mercury.orbiters.add_particles(orbiters[0:5])
        self.assertEquals(mercury.get_name_of_current_state(), 'EDIT')
        mercury.commit_particles()
        self.assertEquals(mercury.get_name_of_current_state(), 'RUN')

        start_pos = mercury.orbiters[4].position
        mercury.evolve_model(11.8618|units.yr)
        self.assertEquals(mercury.get_name_of_current_state(), 'EVOLVED')
        self.assertAlmostEqual(mercury.orbiters[4].position, start_pos, 1)

        mercury.orbiters.remove_particles(orbiters[0:4])
        self.assertEquals(mercury.get_name_of_current_state(), 'UPDATE')
        mercury.recommit_particles()

        self.assertAlmostEqual(mercury.orbiters[0].position, start_pos, 1)

        start_pos = mercury.orbiters[0].position
        mercury.evolve_model(2*11.8618|units.yr)
        self.assertEquals(mercury.get_name_of_current_state(), 'EVOLVED')
        self.assertAlmostEqual(mercury.orbiters[0].position, start_pos, 1)

        mercury.cleanup_code()
        self.assertEquals(mercury.get_name_of_current_state(), 'END')
        mercury.stop()