code: def test_get_maximum_value(self):
      item1, item2, item3 = Item(60, 10), Item(100, 20), Item(120, 30)
      self.assertEqual(
          220, get_maximum_value([item1, item2, item3], 50)
      )
  
      item1, item2, item3, item4 = (
          Item(60, 5),
          Item(50, 3),
          Item(70, 4),
          Item(30, 2),
      )
      self.assertEqual(
          80, get_maximum_value([item1, item2, item3, item4], 5)
      )
  
imports: from algorithms.dp import max_profit_naive, max_profit_optimized, climb_stairs, climb_stairs_optimized, count, combination_sum_topdown, combination_sum_bottom_up, edit_distance, egg_drop, fib_recursive, fib_list, fib_iter, hosoya_testing, house_robber, Job, schedule, Item, get_maximum_value, longest_increasing_subsequence, longest_increasing_subsequence_optimized, longest_increasing_subsequence_optimized2, int_divide, find_k_factor, planting_trees, regex_matching
  import unittest
label_desc: Use image node_id 1 for calling the TestKnapsack obj's underlying member method code with example usage: obj.test_get_maximum_value() without return types