Exemplo n.º 1
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()
Exemplo n.º 2
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()
Exemplo n.º 3
0
    def test10(self):
        centre, orbiters = new_solar_system_for_mercury()

        mercury = MercuryWayWard()
        mercury.central_particle.add_particles(centre)
        self.assertEqual(mercury.get_name_of_current_state(), 'EDIT')
        mercury.orbiters.add_particles(orbiters[4:5])
        self.assertEqual(mercury.get_name_of_current_state(), 'EDIT')
        start_pos = mercury.orbiters[0].position
        mercury.evolve_model(11.8618|units.yr)
        self.assertEqual(mercury.get_name_of_current_state(), 'EVOLVED')
        self.assertAlmostEqual(mercury.orbiters[0].position, start_pos, 1)

        mercury.orbiters.add_particles(orbiters[0:4])
        self.assertEqual(mercury.get_name_of_current_state(), 'UPDATE')
        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)
Exemplo n.º 4
0
    def test10(self):
        centre, orbiters = new_solar_system_for_mercury()

        mercury = MercuryWayWard()
        mercury.central_particle.add_particles(centre)
        self.assertEquals(mercury.get_name_of_current_state(), 'EDIT')
        mercury.orbiters.add_particles(orbiters[4:5])
        self.assertEquals(mercury.get_name_of_current_state(), 'EDIT')
        start_pos = mercury.orbiters[0].position
        mercury.evolve_model(11.8618|units.yr)
        self.assertEquals(mercury.get_name_of_current_state(), 'EVOLVED')
        self.assertAlmostEqual(mercury.orbiters[0].position, start_pos, 1)

        mercury.orbiters.add_particles(orbiters[0:4])
        self.assertEquals(mercury.get_name_of_current_state(), 'UPDATE')
        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)
Exemplo n.º 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()
Exemplo n.º 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()