from nose.tools import assert_equal, assert_raises class TestKnapsack(object): def test_knapsack(self): knapsack = Knapsack() assert_raises(TypeError, knapsack.fill_knapsack, None, None) assert_equal(knapsack.fill_knapsack(0, 0), 0) items = [] items.append(Item(label='a', value=1, weight=1)) items.append(Item(label='b', value=3, weight=2)) items.append(Item(label='c', value=7, weight=4)) total_weight = 8 expected_value = 14 results = knapsack.fill_knapsack(items, total_weight) total_weight = 7 expected_value = 11 results = knapsack.fill_knapsack(items, total_weight) assert_equal(results, expected_value) print('Success: test_knapsack') def main(): test = TestKnapsack() test.test_knapsack() if __name__ == '__main__': main()