def test_refuse_mission_because_robot_is_busy(self): tm = TaskManager(skills=[self.skill_generator()]) response = tm.assign_mission_service_handler(goals=[ self.test_goal_generator(), self.test_goal_generator(), self.test_goal_generator() ]) acceptedResponse = MSGConstructor.ActionAcceptedRefusedConstructor( accepted='True', reasonOfRefusal='None') self.assertEquals(response, acceptedResponse) self.assertEquals(len(tm.ongoingTasks), 3) response = tm.assign_mission_service_handler(goals=[ self.test_goal_generator(), self.test_goal_generator(), self.test_goal_generator() ]) refusedResponse = MSGConstructor.ActionAcceptedRefusedConstructor( accepted='False', reasonOfRefusal= "Robot is currently busy with 3 tasks: ['example-skill', 'example-skill', 'example-skill']" ) self.assertEquals(response, refusedResponse) self.assertEquals(len(tm.ongoingTasks), 3)
def test_refused_because_empty_goals(self): tm = TaskManager(skills=[self.skill_generator()]) response = tm.assign_mission_service_handler(goals=[]) refusedResponse = MSGConstructor.ActionAcceptedRefusedConstructor( accepted='False', reasonOfRefusal='Empty goals!') self.assertEquals(response, refusedResponse) self.assertEquals(len(tm.ongoingTasks), 0)
def test_refused_because_different_robotId(self): tm = TaskManager(skills=[self.skill_generator()]) response = tm.assign_mission_service_handler( robotId='differentRobotId') refusedResponse = MSGConstructor.ActionAcceptedRefusedConstructor( accepted='False', reasonOfRefusal='Different robotId!') self.assertEquals(response, refusedResponse) self.assertEquals(len(tm.ongoingTasks), 0)
def test_accepted_simple_mission(self): tm = TaskManager(skills=[self.skill_generator()]) response = tm.assign_mission_service_handler( goals=[self.test_goal_generator()]) acceptedResponse = MSGConstructor.ActionAcceptedRefusedConstructor( accepted='True', reasonOfRefusal='None') self.assertEquals(response, acceptedResponse) self.assertEquals(len(tm.ongoingTasks), 1)
def test_refused_bad_syntax_goal(self): tm = TaskManager(skills=[self.skill_generator()]) response = tm.assign_mission_service_handler( goals=['example-skill;exampleSkillProperty0']) refusedResponse = MSGConstructor.ActionAcceptedRefusedConstructor( accepted='False', reasonOfRefusal= 'Badly formatted goal (example-skill;exampleSkillProperty0): need more than 1 value to unpack' ) self.assertEquals(response, refusedResponse) self.assertEquals(len(tm.ongoingTasks), 0)
def test_execute_mission_called_for_simple_mission(self, mock): tm = TaskManager(skills=[self.skill_generator()]) response = tm.assign_mission_service_handler(goals=[ self.test_goal_generator(), self.test_goal_generator(), self.test_goal_generator() ], executeMission=True) self.assertTrue(mock.called) acceptedResponse = MSGConstructor.ActionAcceptedRefusedConstructor( accepted='True', reasonOfRefusal='None') self.assertEquals(response, acceptedResponse) self.assertEquals(len(tm.ongoingTasks), 3)
def test_accepted_complex_mission(self): tm = TaskManager(skills=[ self.skill_generator(), self.skill_generator( skillName='drive', skillType='DriveSkill', skillClass='DriveSkill', skillProperties=['toObjectId', 'toObjectType']) ]) response = tm.assign_mission_service_handler(goals=[ self.test_goal_generator(), 'drive;toObjectId=testToObjectId;toObjectType=testToObjectType' ]) acceptedResponse = MSGConstructor.ActionAcceptedRefusedConstructor( accepted='True', reasonOfRefusal='None') self.assertEquals(response, acceptedResponse) self.assertEquals(len(tm.ongoingTasks), 2)