def test_item_creation(self): ksf = KnapsackFile("test.txt") lines = ksf.getlines() items = Greedy.create_items(lines) for i in items: self.assertIsInstance(i, Greedy.Item, "i is Not an Item object") self.assertIsNotNone(i, "Item creation failed.")
def test_sum_by_profit(self): ksf = KnapsackFile("test.txt") lines = ksf.getlines() items = Greedy.create_items(lines) weight_items = Greedy.sum_by_value(limit=6, list_of_items=items, func=lambda item: item.profit) self.assertIs(len(weight_items), 1) weight_items = Greedy.sum_by_value(limit=7, list_of_items=items, func=lambda item: item.profit) self.assertIs(len(weight_items), 2) weight_items = Greedy.sum_by_value(limit=9, list_of_items=items, func=lambda item: item.profit) self.assertIs(len(weight_items), 3)
def test_sort_by_efficiency(self): ksf = KnapsackFile("test.txt") lines = ksf.getlines() items = Greedy.create_items(lines) items = Greedy.sort_by_efficiency(items, descending=True) last = 0.0 for i in items: if last is not 0.0: self.assertTrue(i.efficiency < last) last = i.efficiency items = Greedy.sort_by_efficiency(items, descending=False) last = 0.0 for i in items: if last is not 0.0: self.assertTrue(i.efficiency > last) last = i.efficiency