コード例 #1
0
    def test_is_full(self):
        print("Testing method: " + str(self._testMethodName))
        tl = TaskList()
        tl.capacity = 3

        t1 = Task(t_type=1, source=2, destination=4, container=2, t_object=4)
        tl.add_task(t1)
        t2 = Task(t_type=1, source=2, destination=3, container=5, t_object=2)
        tl.add_task(t2)
        t3 = Task(t_type=1, source=3, destination=4, container=2, t_object=3)
        tl.add_task(t3)

        self.assertTrue(tl.is_full())
コード例 #2
0
 def test_format_set_of_tasks(self):
     print ("Testing method: " + str(self._testMethodName))
     tm = TaskManager()
     tl = TaskList()
     
     t1 = Task(t_type=1, source=2, destination=4, t_object=4)
     tl.add_task(t1)
     t2 = Task(t_type=1, source=3, destination=3, t_object=2)
     tl.add_task(t2)
     t3 = Task(t_type=1, source=2, destination=4, t_object=3)
     tl.add_task(t3)
     
     result = ActionList()
     result.action_list = tm.format_set_of_tasks(tl, result.action_list)
コード例 #3
0
    def test_clear_task(self):
        print("Testing method: " + str(self._testMethodName))
        tl = TaskList()
        tl.capacity = 3

        t1 = Task(t_type=1, source=2, destination=4, container=2, t_object=4)
        tl.add_task(t1)
        t2 = Task(t_type=1, source=2, destination=3, container=5, t_object=2)
        tl.add_task(t2)
        t3 = Task(t_type=1, source=3, destination=4, container=2, t_object=3)
        tl.add_task(t3)

        tl.clear_task()
        self.assertEqual(len(tl.task_list), 0)
コード例 #4
0
    def test_get_task_index(self):
        print("Testing method: " + str(self._testMethodName))
        tl = TaskList()
        tl.capacity = 3

        t1 = Task(t_type=1, source=2, destination=4, container=2, t_object=4)
        tl.add_task(t1)
        t2 = Task(t_type=1, source=2, destination=3, container=5, t_object=2)
        tl.add_task(t2)
        t3 = Task(t_type=1, source=3, destination=4, container=2, t_object=3)
        tl.add_task(t3)

        self.assertEqual(
            tl.get_task_index(t2.type, t2.source, t2.destination, t2.object,
                              t2.container), 1)
コード例 #5
0
    def test_format_place_task(self):
        print ("Testing method: " + str(self._testMethodName))
        tm = TaskManager()

        result = ActionList()
        t = Task(t_type=1, source=2, destination=4, container=2, t_object=4)

        result.action_list = tm.format_place_task(t, result.action_list)
        action_key = TaskProtocol.look_up_value(TaskProtocol.task_action_dict, "PLACE")

        self.assertEqual(len(result.action_list), 1)

        for item in result.action_list:
            self.assertEqual(item.action, action_key)
            self.assertEqual(item.action_str, "PLACE")
            self.assertEqual(item.type, t.type)
            self.assertEqual(item.type_str, t.type_str)
            self.assertEqual(item.source, t.source)
            self.assertEqual(item.source_str, t.source_str)
            self.assertEqual(item.destination, t.destination)
            self.assertEqual(item.destination_str, t.destination_str)
            self.assertEqual(item.object, t.object)
            self.assertEqual(item.object_str, t.object_str)
            self.assertEqual(item.container, t.container)
            self.assertEqual(item.container_str, t.container_str)
コード例 #6
0
    def test_get_tasks_by_destination(self):
        print("Testing method: " + str(self._testMethodName))
        tl = TaskList()
        tl.capacity = 3

        t1 = Task(t_type=1, source=2, destination=4, container=2, t_object=4)
        tl.add_task(t1)
        t2 = Task(t_type=1, source=2, destination=3, container=5, t_object=2)
        tl.add_task(t2)
        t3 = Task(t_type=1, source=3, destination=4, container=2, t_object=3)
        tl.add_task(t3)

        destination_4 = tl.get_tasks_by_destination(4)

        for item in destination_4.task_list:
            self.assertEqual(item.destination, 4)
コード例 #7
0
    def test_optimize_list(self):
        print ("Testing method: " + str(self._testMethodName))
        tm = TaskManager()
        tl = TaskList()
        
        t1 = Task(t_type=2, source=2, destination=1, t_object=4)
        tl.add_task(t1)
        t2 = Task(t_type=2, source=3, destination=3, t_object=2)
        tl.add_task(t2)
        t3 = Task(t_type=2, source=2, destination=4, t_object=3)
        tl.add_task(t3)
        t4 = Task(t_type=2, source=5, destination=4, t_object=3)
        tl.add_task(t4)

        result = ActionList()
        result.action_list = tm.optimize_list(tl, result.action_list)
        print(result)
コード例 #8
0
    def test_format_pick (self):
        print ("Testing method: " + str(self._testMethodName))
        tm = TaskManager()
        tl = TaskList()
        
        t1 = Task(t_type=1, source=2, destination=4, container=2, t_object=4)
        tl.add_task(t1)
        t2 = Task(t_type=1, source=2, destination=3, container=5, t_object=2)
        tl.add_task(t2)
        t3 = Task(t_type=1, source=3, destination=4, container=2, t_object=3)
        tl.add_task(t3)

        result = ActionList()
        result.action_list = tm.format_pick(tl, result.action_list)

        # If reached here, format_pick_task passed the test
        # So only assert len
        self.assertEquals(len(result.action_list), 3)
コード例 #9
0
    def test_remove_task(self):
        print("Testing method: " + str(self._testMethodName))

        tl = TaskList()
        tl.capacity = 3

        t1 = Task(t_type=1, source=2, destination=4, container=2, t_object=4)
        tl.add_task(t1)
        t2 = Task(t_type=1, source=2, destination=3, container=5, t_object=2)
        tl.add_task(t2)
        t3 = Task(t_type=1, source=3, destination=4, container=2, t_object=3)
        tl.add_task(t3)

        # Check return val of method
        self.assertEqual(tl.remove_task(t2), True)

        # Check if t2 was really removed
        self.assertEqual(len(tl.task_list), 2)
コード例 #10
0
    def test_get_unique_source(self):
        print("Testing method: " + str(self._testMethodName))
        tl = TaskList()
        tl.capacity = 3

        t1 = Task(t_type=1, source=2, destination=4, container=2, t_object=4)
        tl.add_task(t1)
        t2 = Task(t_type=1, source=2, destination=3, container=5, t_object=2)
        tl.add_task(t2)
        t3 = Task(t_type=1, source=3, destination=4, container=2, t_object=3)
        tl.add_task(t3)

        unique_src = tl.get_unique_source()

        self.assertEqual(len(unique_src), 2)

        for item in unique_src:
            self.assertTrue(item == 2 or item == 3)
コード例 #11
0
    def test_get_next_obj_to_pick(self):
        print("Testing method: " + str(self._testMethodName))
        tl = TaskList()
        tl.capacity = 3

        t1 = Task(t_type=1, source=2, destination=4, container=2, t_object=4)
        tl.add_task(t1)
        t2 = Task(t_type=1, source=2, destination=3, container=5, t_object=2)
        tl.add_task(t2)
        t3 = Task(t_type=1, source=3, destination=4, container=2, t_object=3)
        tl.add_task(t3)

        t1.picked = True
        retval, index, task = tl.get_next_obj_to_pick()

        self.assertTrue(retval)
        self.assertNotEqual(index, -1)
        self.assertLess(index, len(tl.task_list))
        self.assertFalse(task.picked)
コード例 #12
0
    def test_add_task(self):
        print("Testing method: " + str(self._testMethodName))
        tl = TaskList()
        tl.capacity = 1

        t1 = Task(t_type=1, source=2, destination=4, container=2, t_object=4)
        tl.add_task(t1)

        # Check length
        self.assertEqual(len(tl.task_list), 1)

        # Check that all info is correct
        self.assertEqual(tl.task_list[0].type, 1)
        self.assertEqual(tl.task_list[0].source, 2)
        self.assertEqual(tl.task_list[0].destination, 4)
        self.assertEqual(tl.task_list[0].container, 2)
        self.assertEqual(tl.task_list[0].object, 4)

        # Exceed capacity, should not add
        t2 = Task(t_type=1, source=2, destination=3, container=5, t_object=2)
        self.assertFalse(tl.add_task(t2))
        self.assertEqual(len(tl.task_list), 1)
コード例 #13
0
    def test_sort_by_src_and_dest(self):
        print("Testing method: " + str(self._testMethodName))
        tl = TaskList()
        # tl.capacity = 5

        t1 = Task(t_type=1, source=1, destination=4, container=2, t_object=4)
        tl.add_task(t1)
        t2 = Task(t_type=1, source=3, destination=3, container=5, t_object=2)
        tl.add_task(t2)
        t3 = Task(t_type=1, source=1, destination=3, container=2, t_object=3)
        tl.add_task(t3)
        t4 = Task(t_type=1, source=5, destination=3, container=2, t_object=3)
        tl.add_task(t4)
        t5 = Task(t_type=1, source=3, destination=3, container=2, t_object=3)
        tl.add_task(t5)

        # Check that they're not sorted
        self.assertEqual(tl.task_list.index(t1), 0)
        self.assertEqual(tl.task_list.index(t2), 1)
        self.assertEqual(tl.task_list.index(t3), 2)
        self.assertEqual(tl.task_list.index(t4), 3)
        self.assertEqual(tl.task_list.index(t5), 4)

        tl.sort_by_src_and_dest()

        # Check that they should be sorted
        # Right order is: t3 -> t1 -> t2
        print("Task 3: " + str(tl.task_list.index(t3)) + ", Task 1: " +
              str(tl.task_list.index(t1)) + ", Task 2: " +
              str(tl.task_list.index(t2)) + ", Task 5: " +
              str(tl.task_list.index(t5)) + ", Task 4: " +
              str(tl.task_list.index(t4)))
        self.assertEqual(tl.task_list.index(t3), 0)
        self.assertEqual(tl.task_list.index(t1), 1)
        self.assertEqual(tl.task_list.index(t2), 2)
        self.assertEqual(tl.task_list.index(t4), 4)
        self.assertEqual(tl.task_list.index(t5), 3)
コード例 #14
0
    def test_format_pick_from_robot(self):
        print ("Testing method: " + str(self._testMethodName))
        tm = TaskManager()

        result = ActionList()
        t = Task(t_type=1, source=2, destination=4, container=2, t_object=4)

        result.action_list = tm.format_pick_from_robot(t, result.action_list)
        action_key = TaskProtocol.look_up_value(TaskProtocol.task_action_dict, "PICK_FROM_ROBOT")

        self.assertEqual(len(result.action_list), 1)
        for item in result.action_list:
            self.assertEqual(item.action, action_key)
            self.assertEqual(item.action_str, "PICK_FROM_ROBOT")
            self.assertEqual(item.object, t.object)
            self.assertEqual(item.object_str, t.object_str)
コード例 #15
0
    def test_copy_from_task(self):
        print("Testing method: " + str(self._testMethodName))
        t = Task()
        t.set_type(1)
        t.set_source(1)
        t.set_destination(3)
        t.set_object(2)
        t.set_container(2)
        twa = TaskWithAction()
        twa.copy_from_task(t)

        self.assertEqual(twa.type, 1)
        self.assertEqual(twa.source, 1)
        self.assertEqual(twa.destination, 3)
        self.assertEqual(twa.object, 2)
        self.assertEqual(twa.container, 2)