예제 #1
0
 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.")
예제 #2
0
 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)
예제 #3
0
 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