예제 #1
0
class TestAgent(unittest.TestCase):

    def setUp(self):
        self.agent = Agent(1, 'IDLE', 'A') 

    def test_choose_state(self):
        state = self.agent.choose_state()
        self.assertIn(state,['ACTIVE','IDLE'])

    def test_set_current_activity(self):
        self.agent.current_activity = 'A'
        self.assertEqual(self.agent.current_activity,'A')

    def test_choose_activity(self):
        activity = self.agent.choose_activity()
        self.assertIn(activity, ['A', 'B', 'C'])

    def test_set_current_activity_end(self):
        time = self.agent.current_time_simulation
        self.agent.set_current_activity_end(time, 20)
        self.assertEqual(self.agent.current_activity_end, time + 20)

    def test_sample_duration_current_state(self):
        self.assertIn(self.agent.sample_duration_current_state(), range(10,100))

    def test_log_activity(self):
        self.agent.current_state = 'ACTIVE'
        self.assertEqual(self.agent.current_state, 'ACTIVE')
        self.test_log_activity_active()
        self.setUp()
        self.agent.current_state = 'IDLE'
        self.assertEqual(self.agent.current_state, 'IDLE')
        self.test_log_activity_idle()

    def test_log_activity_idle(self):
        self.agent.log_activity_idle()
        self.assertEqual(len(self.agent.activity_log['A']), 1)
        self.assertEqual(len(self.agent.activity_log['B']), 1)
        self.assertEqual(len(self.agent.activity_log['C']), 1)
        self.assertEqual(self.agent.activity_log['A'], [0])
        self.assertEqual(self.agent.activity_log['B'], [0])
        self.assertEqual(self.agent.activity_log['B'], [0])

    def test_log_activity_active(self):
        self.agent.log_activity_active()
        self.assertEqual(len(self.agent.activity_log['A']), 1)
        self.assertEqual(len(self.agent.activity_log['B']), 1)
        self.assertEqual(len(self.agent.activity_log['C']), 1)
        self.assertEqual(self.agent.activity_log['A'], [0.5])
        self.assertEqual(self.agent.activity_log['B'], [0.1])
        self.assertEqual(self.agent.activity_log['C'], [0.7])