Esempio n. 1
0
 def setUp(self):
     UnitTestCase.setUp(self)
     self.hook_star_system_reset = mock.MagicMock()
     self.hook_star_system_reset.__name__ = 'hook_star_system_reset'
     hook.add(hook_types.STAR_SYSTEM_RESET, self.hook_star_system_reset)
     self.star_system = StarSystem()
     self.star_system.reset_interval = 10
Esempio n. 2
0
class StarSystemUnitTestCase(UnitTestCase):
    def setUp(self):
        UnitTestCase.setUp(self)
        self.hook_star_system_reset = mock.MagicMock()
        self.hook_star_system_reset.__name__ = 'hook_star_system_reset'
        hook.add(hook_types.STAR_SYSTEM_RESET, self.hook_star_system_reset)
        self.star_system = StarSystem()
        self.star_system.reset_interval = 10

    def test_links(self):
        u = Universe()
        s1 = StarSystem()
        u.add_star_system(s1)
        s2 = StarSystem()
        u.add_star_system(s2)
        s1.link_uuids.add(s2.uuid)
        self.assertEqual({s2}, s1.links)
        self.assertEqual(set(), s2.links)

    def test_change_reset_interval_from_negative_updates_reset_timer(self):
        self.star_system.reset_interval = -1
        self.star_system.reset_timer = -1
        self.star_system.reset_interval = 10
        self.assertEqual(self.star_system.reset_timer, 10)

    def test_change_reset_interval_with_reset_timer_below_one_updates_reset_timer(self):
        self.star_system.reset_timer = 0
        self.star_system.reset_interval = 5
        self.assertEqual(self.star_system.reset_timer, 5)

    def test_reduce_reset_interval_below_reset_timer_updates_reset_timer(self):
        self.star_system.reset_interval = 10
        self.star_system.reset_timer = 10
        self.star_system.reset_interval = 5
        self.assertEqual(self.star_system.reset_timer, 5)

    def test_increase_reset_interval_above_reset_timer_does_not_change_reset_timer(self):
        self.star_system.reset_timer = 10
        self.star_system.reset_interval = 20
        self.assertEqual(self.star_system.reset_timer, 10)

    def test_force_reset_resets_reset_timer(self):
        self.star_system.force_reset()
        self.assertEqual(self.star_system.reset_timer, self.star_system.reset_interval)

    def test_force_reset_calls_hook_star_system_reset(self):
        self.star_system.force_reset()
        self.hook_star_system_reset.assert_called()

    def test_force_reset_with_negative_reset_interval_calls_hook_star_system_reset(self):
        self.star_system.reset_interval = -1
        self.star_system.force_reset()
        self.hook_star_system_reset.assert_called()

    def test_pulse_with_reset_timer_above_one_does_not_call_hook_star_system_reset(self):
        self.star_system.reset_timer = 2
        self.star_system.pulse()
        self.hook_star_system_reset.assert_not_called()

    def test_pulse_with_reset_timer_at_one_calls_hook_star_system_reset(self):
        self.star_system.reset_timer = 1
        self.star_system.pulse()
        self.hook_star_system_reset.assert_called()

    def test_pulse_with_reset_timer_below_one_does_not_call_hook_star_system_reset(self):
        self.star_system.reset_timer = 0
        self.star_system.pulse()
        self.hook_star_system_reset.assert_not_called()

    def test_pulse_with_reset_timer_above_one_decrements_reset_timer(self):
        self.star_system.reset_timer = 2
        self.star_system.pulse()
        self.assertEqual(self.star_system.reset_timer, 1)

    def test_pulse_with_reset_timer_at_one_resets_reset_timer(self):
        self.star_system.reset_timer = 1
        self.star_system.pulse()
        self.assertEqual(self.star_system.reset_timer, self.star_system.reset_interval)

    def test_pulse_with_reset_timer_at_zero_decrements_reset_timer(self):
        self.star_system.reset_timer = 0
        self.star_system.pulse()
        self.assertEqual(self.star_system.reset_timer, -1)

    def test_pulse_with_reset_timer_below_zero_does_not_change_reset_timer(self):
        self.star_system.reset_timer = -1
        self.star_system.pulse()
        self.assertEqual(self.star_system.reset_timer, -1)