Example #1
0
 def test_with_capacity_as_2_and_weights_as_1_and_2(self):
     capacity = 2
     weights = [1, 2]
     value, items = optimal_weight(capacity, weights)
     self.assertEqual(2, value)
     self.assertEqual([1], items)
     self.assert_items_within_capacity(capacity, weights, value, items)
Example #2
0
 def test_with_capacity_as_10_and_several_weights(self):
     capacity = 10
     weights = [2, 4, 3, 6]
     value, items = optimal_weight(capacity, weights)
     self.assertEqual(10, value)
     self.assertEqual([3, 1], items)
     self.assert_items_within_capacity(capacity, weights, value, items)
Example #3
0
 def test_with_capacity_as_1_and_duplicate_weights(self):
     capacity = 1
     weights = [1, 1]
     value, items = optimal_weight(capacity, weights)
     self.assertEqual(1, value)
     self.assertEqual([0], items)
     self.assert_items_within_capacity(capacity, weights, value, items)
Example #4
0
 def test_with_capacity_as_1_and_weights_as_2_and_3(self):
     capacity = 1
     weights = [2, 3]
     value, items = optimal_weight(capacity, weights)
     self.assertEqual(0, value)
     self.assertEqual([], items)
     self.assert_items_within_capacity(capacity, weights, value, items)
Example #5
0
 def test_with_non_zero_capacity_and_empty_weights(self):
     capacity = 123
     weights = []
     value, items = optimal_weight(capacity, weights)
     self.assertEqual(0, value)
     self.assertEqual([], items)
     self.assert_items_within_capacity(capacity, weights, value, items)
Example #6
0
 def test_with_zero_capacity(self):
     capacity = 0
     weights = []
     value, items = optimal_weight(capacity, weights)
     self.assertEqual(0, value)
     self.assertEqual([], items)
     self.assert_items_within_capacity(capacity, weights, value, items)
Example #7
0
 def test_with_capacity_as_10_and_bars_as_1_4_8(self):
     capacity = 10
     weights = [1, 4, 8]
     value, items = optimal_weight(capacity, weights)
     self.assertEqual(9, value)
     self.assertEqual([2, 0], items)
     self.assert_items_within_capacity(capacity, weights, value, items)
Example #8
0
    def test(self):
        while True:
            capacity = randint(0,
                OptimalWeightStressTestCase.CAPACITY)

            weights = []
            for i in range(0, OptimalWeightStressTestCase.N):
                weights.append(randint(0,
                    OptimalWeightStressTestCase.WEIGHT))

            value, items = optimal_weight(capacity, weights)

            print('capacity: %s' % capacity)
            print('weights: %s' % weights)
            print('value: %s' % value)
            print('items: %s' % items)
            print()
            self.assert_items_within_capacity(capacity, weights, value, items)
Example #9
0
 def test_with_preceeding_lower_bound_of_weights(self):
     with self.assertRaisesRegex(AssertionError, ''):
         capacity = 1
         weights = [1, -1, 2]
         optimal_weight(capacity, weights)