diff --git a/src/main/java/no/ntnu/idatt1002/demo/data/Budget/GeneralBudget.java b/src/main/java/no/ntnu/idatt1002/demo/data/Budget/GeneralBudget.java
index 1a22deb2c9afaed173bd0cc6943d4cae4c9bb699..3a51dc780dc47f3c9c7458a5b050aaa638895a40 100644
--- a/src/main/java/no/ntnu/idatt1002/demo/data/Budget/GeneralBudget.java
+++ b/src/main/java/no/ntnu/idatt1002/demo/data/Budget/GeneralBudget.java
@@ -172,10 +172,19 @@ public class GeneralBudget {
         return budgetItems.stream().anyMatch(budgetItem -> budgetItem.getBudgetCategory().equals(category));
     }
 
+    /**
+     * This method checks if there are unused categories in the budget.
+
+     * @return True, if the list contains unused categories. Else returns false.
+     */
     private boolean hasUnusedCategories() {
-        return budgetItems.size() != 4;
+        return budgetItems.size() != ExpenseCategory.values().length;
     }
 
+    /**
+     * Method that adds the remaining, unused categories to the budget list.
+     * Useful, as unused categories can be automatically added without user input.
+     */
     public void addUnusedCategories() {
         if (hasUnusedCategories()) {
             Arrays.stream(ExpenseCategory.values()).
diff --git a/src/test/java/no/ntnu/idatt1002/demo/data/Budget/GeneralBudgetTest.java b/src/test/java/no/ntnu/idatt1002/demo/data/Budget/GeneralBudgetTest.java
index bd6064b4e7b11b4e5477adf0d3a2ec4777fd8da3..e13fadab307e970a357391f1c93a3b2b317e1518 100644
--- a/src/test/java/no/ntnu/idatt1002/demo/data/Budget/GeneralBudgetTest.java
+++ b/src/test/java/no/ntnu/idatt1002/demo/data/Budget/GeneralBudgetTest.java
@@ -1,7 +1,9 @@
 package no.ntnu.idatt1002.demo.data.Budget;
 
 import no.ntnu.idatt1002.demo.data.Economics.ExpenseCategory;
+import org.junit.jupiter.api.BeforeEach;
 import org.junit.jupiter.api.DisplayName;
+import org.junit.jupiter.api.Nested;
 import org.junit.jupiter.api.Test;
 
 import java.util.ArrayList;
@@ -105,6 +107,30 @@ class GeneralBudgetTest {
         assertTrue(list.isEmpty());
     }
 
+    @Nested
+    class UnusedCategories {
+        GeneralBudget budget;
+        List<BudgetItem> list;
+
+        @BeforeEach
+        void setUp() {
+            list = new ArrayList<>();
+            budget = new GeneralBudget(12, list, 1200);
+            budget.addToBudget(10, "Books", ExpenseCategory.BOOKS);
+        }
+
+        @Test
+        @DisplayName("Test addUnusedCategories adds unused categories")
+        void hasUnusedCategories_with_full_budget() {
+            assertEquals(1, budget.getBudgetItems().size());
+            budget.addUnusedCategories();
+
+            assertEquals(4, budget.getBudgetItems().size());
+        }
+
+    }
+
+
    /* @Test
     @DisplayName("Gets the number of days left in the month. 17 has to be changed to the actual number of days left in the month.")
     void get_days_left_of_the_month(){