Ejemplo n.º 1
0
    def test_reduce(self):

        items_list = [Item(1, 1, 0, 1), Item(2, 2, 2, 2)]

        containers = [Container(10, 10, 0), Container(40, 40, 2)]

        itmap = dict()

        itmap[items_list[0]] = (containers[0], 100)

        itmap[items_list[1]] = (containers[1], 400)

        items_data = [100, 810]

        allocated, remaining = reduce(items_list, itmap, items_data)

        self.assertEqual(len(items_data), len(remaining))

        self.assertEqual(0, remaining[0])

        self.assertEqual(1, allocated[0])

        self.assertEqual(10, remaining[1])

        self.assertEqual(2, allocated[1])
Ejemplo n.º 2
0
    def test_not_equals(self):

        item1 = Item(1, 2, 1)

        item2 = Item(1, 2, 0)

        self.assertNotEqual(item1, item2)
Ejemplo n.º 3
0
    def test_equals(self):

        item1 = Item(1, 1, 1)

        item2 = Item(1, 1, 1)

        self.assertEqual(item1, item1)

        self.assertEqual(item1, item2)
Ejemplo n.º 4
0
    def test_load_item_uid(self):

        item_list = [Item(2, 3, 1, 1), Item(2, 3, 1, 2)]

        self.create_file("items.txt", item_list)

        result_list = parse_items_files("items.txt")

        self.assertEqual(2, len(result_list))

        self.assertEqual(item_list, result_list)
Ejemplo n.º 5
0
    def test_one_item_several(self):

        c = Container(5, 5, 0)

        oIList = [Item(2, 2, 0)]

        oItoPlace = [5]

        pcItem = 0

        xo = 0.0

        yo = 0.0

        length = c.length_

        width = c.width_

        pos = [[]]

        _call_rec_heuristic(oIList,
                            oItoPlace,
                            pcItem,
                            xo,
                            yo,
                            width,
                            length,
                            pos=pos)

        self.assertEqual([1], oItoPlace)

        l = [list(zip([0.0, 0.0, 2.0, 2.0], [0.0, 2.0, 0.0, 2.0]))]

        self.assertEqual(l, pos)
Ejemplo n.º 6
0
    def test_number_of_items_is_int(self):

        item = Item(1.5, 1.5, 0)

        container = Container(10.0, 10.0, 0)

        self.assertEqual(int, type(container.how_many_items(item)))
Ejemplo n.º 7
0
    def test_number_of_items(self):

        item1 = Item(2, 2, 0)

        item2 = Item(1, 1, 1)

        container1 = Container(8, 8, 0)

        container2 = Container(6, 6, 1)

        self.assertEqual(16, container1.how_many_items(item1))

        self.assertEqual(0, container2.how_many_items(item1))

        self.assertEqual(0, container1.how_many_items(item2))

        self.assertEqual(36, container2.how_many_items(item2))
Ejemplo n.º 8
0
    def test_calculate_max_items(self):

        items_list = [Item(1, 1, 0), Item(2, 2, 2)]

        cont_list = [Container(10, 10, 0), Container(40, 40, 2)]

        itmap = calculate_maximum(items_list, cont_list)

        (mc, mi) = itmap[items_list[0]]

        self.assertEqual(cont_list[0], mc)

        self.assertEqual(100, mi)

        (mc, mi) = itmap[items_list[1]]

        self.assertEqual(cont_list[1], mc)

        self.assertEqual(400, mi)
Ejemplo n.º 9
0
    def test_print_item(self):

        item = Item(2, 3, 1)

        s = str(item).split()

        self.assertEqual("2.00", s[0])

        self.assertEqual("3.00", s[1])

        self.assertEqual("1", s[2])
Ejemplo n.º 10
0
    def test_load_item_file(self):

        item1 = Item(2, 3, 1, 1)

        item_list = [item1]

        self.create_file("items.txt", item_list)

        result_list = parse_items_files("items.txt")

        self.assertEqual(1, len(result_list))

        self.assertEqual(item_list, result_list)
Ejemplo n.º 11
0
    def test_two_items_all(self):

        c = Container(5, 5, 0)

        oIList = [Item(2, 2, 0, 0), Item(1, 1, 0, 1)]

        oItoPlace = [4, 4]

        pcItem = 0

        xo = 0.0

        yo = 0.0

        length = c.length_

        width = c.width_

        pos = [[], []]

        _call_rec_heuristic(oIList,
                            oItoPlace,
                            pcItem,
                            xo,
                            yo,
                            width,
                            length,
                            pos=pos)

        self.assertEqual([0, 0], oItoPlace)

        l = [
            list(zip([0.0, 0.0, 2.0, 2.0], [0.0, 2.0, 0.0, 2.0])),
            list(zip([2.0, 3.0, 4.0, 4.0], [4.0, 4.0, 0.0, 1.0]))
        ]

        self.assertEqual(l, pos)
Ejemplo n.º 12
0
    def test_load_file_comments(self):

        item = Item(5, 5, 0, 1)

        item_list = [item]

        with open("items.txt", "w") as fp:

            fp.write("# This is a comment\n1\n")

            fp.write("#This is another comment\n")

            fp.write(str(item) + " # Another comment")

        self.create_file("items.txt", item_list)

        result_list = parse_items_files("items.txt")

        self.assertEqual(1, len(result_list))

        self.assertEqual(item_list, result_list)