diff --git a/resources/knapsack.py b/resources/knapsack.py
index 123b23192c8b92bffc3f85e4ca5e48484750510d..857132cac8779af8972ab189da24c6ec2dfa6ddf 100644
--- a/resources/knapsack.py
+++ b/resources/knapsack.py
@@ -25,8 +25,8 @@ class FractionalKnapsackAlgorithm():
     Knapsack algorithm.
     """
     def __init__(self):
-        self._item_set_ = None
-        self._max_weight_ = None
+        self._item_set_ = []
+        self._max_weight_ = 0
         self._items_populated_ = False
         self._weight_populated_ = False
 
@@ -70,6 +70,20 @@ class FractionalKnapsackAlgorithm():
         self._max_weight_ = max_weight
         self._weight_populated_ = True
 
+    def clear_item_set(self):
+        """
+        Resets item set to empty.
+        """
+        self._item_set_ = []
+        self._items_populated_ = False
+
+    def clear_max_weight(self):
+        """
+        Resets max weight to 0.
+        """
+        self._max_weight_ = 0
+        self._weight_populated_ = False
+
     def display_item_set(self):
         """
         Prints current item set with logging.
diff --git a/tests/resources/knapsack.py b/tests/resources/knapsack.py
index 6455b70b4314344a1d6d9809e891e3fdd329bc5f..08fc61a9ed6ed9110a36fa00a083cc36fd9f4b9e 100644
--- a/tests/resources/knapsack.py
+++ b/tests/resources/knapsack.py
@@ -59,10 +59,21 @@ class TestKnapsack(unittest.TestCase):
 
     def test_knapsack_creation(self):
         self.assertTrue(isinstance(self.knapsack, FractionalKnapsackAlgorithm))
+        self.assertEqual(self.knapsack._item_set_, [])
+        self.assertEqual(self.knapsack._max_weight_, 0)
+        self.assertFalse(self.knapsack._items_populated_)
+        self.assertFalse(self.knapsack._weight_populated_)
 
     def test_set_item_set_success(self):
+        # Test with set 1.
         self.knapsack.set_item_set(self.item_set_1)
         self.assertEqual(self.knapsack._item_set_, self.item_set_1)
+        self.assertTrue(self.knapsack._items_populated_)
+
+        # Test with set 2.
+        self.knapsack.set_item_set(self.item_set_2)
+        self.assertEqual(self.knapsack._item_set_, self.item_set_2)
+        self.assertTrue(self.knapsack._items_populated_)
 
     def test_set_item_set_failure(self):
         with self.subTest('Arg is not array of dicts'):
@@ -82,9 +93,11 @@ class TestKnapsack(unittest.TestCase):
     def test_set_max_weight_success(self):
         self.knapsack.set_max_weight(1)
         self.assertEqual(self.knapsack._max_weight_, 1)
+        self.assertTrue(self.knapsack._weight_populated_)
 
         self.knapsack.set_max_weight(2)
         self.assertEqual(self.knapsack._max_weight_, 2)
+        self.assertTrue(self.knapsack._weight_populated_)
 
     def test_set_max_weight_failure(self):
         with self.subTest('Arg is not of type Int'):
@@ -120,3 +133,15 @@ class TestKnapsack(unittest.TestCase):
     def test_calculate_fractional_knapsack_failure(self):
         with self.assertRaises(ValueError):
             self.knapsack.calculate_fractional_knapsack()
+
+    def test_clear_item_set(self):
+        pass
+
+    def test_clear_max_weight(self):
+        self.knapsack.set_max_weight(10)
+        self.assertEqual(self.knapsack._max_weight_, 10)
+        self.assertTrue(self.knapsack._weight_populated_)
+
+        self.knapsack.clear_max_weight()
+        self.assertEqual(self.knapsack._max_weight_, 0)
+        self.assertFalse(self.knapsack._weight_populated_)