From 56c49eabf52bcd6bc55d2e57320a936d47d218dd Mon Sep 17 00:00:00 2001
From: birkon <birkon@stud.ntnu.no>
Date: Fri, 5 May 2023 15:25:35 +0200
Subject: [PATCH] entity tests

---
 .../v233/SmartMat/entity/RecipeTest.java      | 61 ++++++++++++++++
 .../v233/SmartMat/entity/WasteTest.java       | 73 +++++++++++++++++++
 .../entity/group/AchievementTest.java         | 54 ++++++++++++++
 .../SmartMat/entity/group/FridgeTest.java     | 54 ++++++++++++++
 .../v233/SmartMat/entity/group/GroupTest.java | 40 ++++++++++
 .../entity/group/UserGroupIdTest.java         | 57 +++++++++++++++
 6 files changed, 339 insertions(+)
 create mode 100644 src/test/java/ntnu/idatt2016/v233/SmartMat/entity/RecipeTest.java
 create mode 100644 src/test/java/ntnu/idatt2016/v233/SmartMat/entity/WasteTest.java
 create mode 100644 src/test/java/ntnu/idatt2016/v233/SmartMat/entity/group/AchievementTest.java
 create mode 100644 src/test/java/ntnu/idatt2016/v233/SmartMat/entity/group/FridgeTest.java
 create mode 100644 src/test/java/ntnu/idatt2016/v233/SmartMat/entity/group/UserGroupIdTest.java

diff --git a/src/test/java/ntnu/idatt2016/v233/SmartMat/entity/RecipeTest.java b/src/test/java/ntnu/idatt2016/v233/SmartMat/entity/RecipeTest.java
new file mode 100644
index 00000000..01f8b12b
--- /dev/null
+++ b/src/test/java/ntnu/idatt2016/v233/SmartMat/entity/RecipeTest.java
@@ -0,0 +1,61 @@
+package ntnu.idatt2016.v233.SmartMat.entity;
+
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class RecipeTest {
+
+    @Test
+    void testEquals() {
+        Recipe recipe = Recipe.builder()
+                .id(1)
+                .name("test")
+                .build();
+
+        Recipe recipe1 = Recipe.builder()
+                .id(1)
+                .name("test")
+                .build();
+
+        assertEquals(recipe, recipe1);
+
+        recipe1.setId(2);
+
+        assertNotEquals(recipe, recipe1);
+
+        recipe1.setId(1);
+
+        assertEquals(recipe, recipe);
+
+        assertNotEquals(recipe, null);
+
+        assertNotEquals(recipe, new Object());
+
+        assertNotEquals(recipe, new Recipe());
+
+        recipe1.setName("test1");
+
+        assertNotEquals(recipe, recipe1);
+
+    }
+
+    @Test
+    void testHashCode() {
+        Recipe recipe = Recipe.builder()
+                .id(1)
+                .name("test")
+                .build();
+
+        Recipe recipe1 = Recipe.builder()
+                .id(1)
+                .name("test")
+                .build();
+
+        assertEquals(recipe.hashCode(), recipe1.hashCode());
+
+        recipe1.setId(2);
+
+        assertNotEquals(recipe.hashCode(), recipe1.hashCode());
+    }
+}
\ No newline at end of file
diff --git a/src/test/java/ntnu/idatt2016/v233/SmartMat/entity/WasteTest.java b/src/test/java/ntnu/idatt2016/v233/SmartMat/entity/WasteTest.java
new file mode 100644
index 00000000..7f8a0862
--- /dev/null
+++ b/src/test/java/ntnu/idatt2016/v233/SmartMat/entity/WasteTest.java
@@ -0,0 +1,73 @@
+package ntnu.idatt2016.v233.SmartMat.entity;
+
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class WasteTest {
+
+    @Test
+    void testEquals() {
+        Waste waste = Waste.builder()
+                .wasteId(1)
+                .amount(1)
+                .build();
+
+        Waste waste1 = Waste.builder()
+                .wasteId(1)
+                .amount(1)
+                .build();
+
+        assertEquals(waste, waste1);
+
+        waste1.setAmount(2);
+
+        assertNotEquals(waste, waste1);
+
+        waste1.setAmount(1);
+
+        assertEquals(waste, waste);
+
+        assertNotEquals(waste, null);
+
+        assertNotEquals(waste, new Object());
+
+        assertNotEquals(waste, new Waste());
+
+        waste1.setWasteId(2);
+
+        assertNotEquals(waste, waste1);
+
+        waste1.setWasteId(1);
+
+        assertEquals(waste, waste1);
+
+    }
+
+    @Test
+    void testHashCode() {
+        Waste waste = Waste.builder()
+                .wasteId(1)
+                .amount(1)
+                .build();
+
+        Waste waste1 = Waste.builder()
+                .wasteId(1)
+                .amount(1)
+                .build();
+
+        assertEquals(waste.hashCode(), waste1.hashCode());
+
+        waste1.setAmount(2);
+
+        assertNotEquals(waste.hashCode(), waste1.hashCode());
+
+        waste1.setAmount(1);
+
+        assertEquals(waste.hashCode(), waste.hashCode());
+
+        waste1.setWasteId(2);
+
+        assertNotEquals(waste.hashCode(), waste1.hashCode());
+    }
+}
\ No newline at end of file
diff --git a/src/test/java/ntnu/idatt2016/v233/SmartMat/entity/group/AchievementTest.java b/src/test/java/ntnu/idatt2016/v233/SmartMat/entity/group/AchievementTest.java
new file mode 100644
index 00000000..a3c0e217
--- /dev/null
+++ b/src/test/java/ntnu/idatt2016/v233/SmartMat/entity/group/AchievementTest.java
@@ -0,0 +1,54 @@
+package ntnu.idatt2016.v233.SmartMat.entity.group;
+
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class AchievementTest {
+
+    @Test
+    void testEquals() {
+        Achievement achievement = Achievement.builder()
+                .achievementName("test")
+                .build();
+
+        Achievement achievement1 = Achievement.builder()
+                .achievementName("test")
+                .build();
+
+        assertEquals(achievement, achievement1);
+
+        achievement1.setAchievementName("test1");
+
+        assertNotEquals(achievement, achievement1);
+
+        achievement1.setAchievementName("test");
+
+        assertEquals(achievement, achievement);
+
+        assertNotEquals(achievement, null);
+
+        assertNotEquals(achievement, new Object());
+
+        assertNotEquals(achievement, new Achievement());
+
+
+    }
+
+    @Test
+    void testHashCode() {
+        Achievement achievement = Achievement.builder()
+                .achievementName("test")
+                .build();
+
+        Achievement achievement1 = Achievement.builder()
+                .achievementName("test")
+                .build();
+
+        assertEquals(achievement.hashCode(), achievement1.hashCode());
+
+        achievement1.setAchievementName("test1");
+
+        assertNotEquals(achievement.hashCode(), achievement1.hashCode());
+    }
+}
\ No newline at end of file
diff --git a/src/test/java/ntnu/idatt2016/v233/SmartMat/entity/group/FridgeTest.java b/src/test/java/ntnu/idatt2016/v233/SmartMat/entity/group/FridgeTest.java
new file mode 100644
index 00000000..7b7d0821
--- /dev/null
+++ b/src/test/java/ntnu/idatt2016/v233/SmartMat/entity/group/FridgeTest.java
@@ -0,0 +1,54 @@
+package ntnu.idatt2016.v233.SmartMat.entity.group;
+
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class FridgeTest {
+
+    @Test
+    void testEquals() {
+        Fridge fridge = Fridge.builder()
+                .fridgeId(1)
+                .build();
+
+        Fridge fridge1 = Fridge.builder()
+                .fridgeId(1)
+                .build();
+
+        assertEquals(fridge, fridge1);
+
+        fridge1.setFridgeId(2);
+
+        assertNotEquals(fridge, fridge1);
+
+        assertEquals(fridge, fridge);
+
+        assertNotEquals(fridge, null);
+
+        assertNotEquals(fridge, new Object());
+
+        assertNotEquals(fridge, new Fridge());
+
+        fridge1.setFridgeId(1);
+
+        assertEquals(fridge, fridge1);
+    }
+
+    @Test
+    void testHashCode() {
+        Fridge fridge = Fridge.builder()
+                .fridgeId(1)
+                .build();
+
+        Fridge fridge1 = Fridge.builder()
+                .fridgeId(1)
+                .build();
+
+        assertEquals(fridge.hashCode(), fridge1.hashCode());
+
+        fridge1.setFridgeId(2);
+
+        assertNotEquals(fridge.hashCode(), fridge1.hashCode());
+    }
+}
\ No newline at end of file
diff --git a/src/test/java/ntnu/idatt2016/v233/SmartMat/entity/group/GroupTest.java b/src/test/java/ntnu/idatt2016/v233/SmartMat/entity/group/GroupTest.java
index f74cf33e..9aef6c2a 100644
--- a/src/test/java/ntnu/idatt2016/v233/SmartMat/entity/group/GroupTest.java
+++ b/src/test/java/ntnu/idatt2016/v233/SmartMat/entity/group/GroupTest.java
@@ -50,4 +50,44 @@ class GroupTest {
         assertEquals("Group(groupId=1, level=0, points=0, groupName=Test Group, linkCode=null, open=null, shoppingList=null, user=null, fridge=null, achievements=null)",
                 group.toString());
     }
+
+    @Test
+    void builder() {
+        Group.GroupBuilder builder = Group.builder();
+        builder.groupName("Test Group");
+        builder.groupId(1L);
+        builder.user(null);
+        builder.fridge(null);
+        builder.shoppingList(null);
+        builder.achievements(null);
+        builder.level(0);
+        builder.points(0);
+        builder.linkCode(null);
+        builder.open(null);
+
+        assertNotNull(builder.toString());
+
+        Group group = builder
+                .build();
+
+        assertEquals("Test Group", group.getGroupName());
+        assertEquals(1L, group.getGroupId());
+
+        assertNull(group.getUser());
+
+        assertNull(group.getFridge());
+
+        assertNull(group.getShoppingList());
+
+        assertNull(group.getAchievements());
+
+        assertEquals(0, group.getLevel());
+
+        assertEquals(0, group.getPoints());
+
+        assertNull(group.getLinkCode());
+
+        assertNull(group.getOpen());
+
+    }
 }
\ No newline at end of file
diff --git a/src/test/java/ntnu/idatt2016/v233/SmartMat/entity/group/UserGroupIdTest.java b/src/test/java/ntnu/idatt2016/v233/SmartMat/entity/group/UserGroupIdTest.java
new file mode 100644
index 00000000..6f8c1b6a
--- /dev/null
+++ b/src/test/java/ntnu/idatt2016/v233/SmartMat/entity/group/UserGroupIdTest.java
@@ -0,0 +1,57 @@
+package ntnu.idatt2016.v233.SmartMat.entity.group;
+
+import org.junit.jupiter.api.Test;
+
+import static org.junit.jupiter.api.Assertions.*;
+
+class UserGroupIdTest {
+
+    @Test
+    void testEquals() {
+        UserGroupId userGroupId = UserGroupId.builder()
+                .groupId(1)
+                .username("test")
+                .build();
+
+        UserGroupId userGroupId1 = UserGroupId.builder()
+                .groupId(1)
+                .username("test")
+                .build();
+
+        assertEquals(userGroupId, userGroupId1);
+
+        userGroupId1.setGroupId(2);
+
+        assertNotEquals(userGroupId, userGroupId1);
+
+        userGroupId1.setGroupId(1);
+
+        assertEquals(userGroupId, userGroupId);
+
+        assertNotEquals(userGroupId, null);
+
+        assertNotEquals(userGroupId, new Object());
+
+        assertNotEquals(userGroupId, new UserGroupId());
+
+    }
+
+    @Test
+    void testHashCode() {
+        UserGroupId userGroupId = UserGroupId.builder()
+                .groupId(1)
+                .username("test")
+                .build();
+
+        UserGroupId userGroupId1 = UserGroupId.builder()
+                .groupId(1)
+                .username("test")
+                .build();
+
+        assertEquals(userGroupId.hashCode(), userGroupId1.hashCode());
+
+        userGroupId1.setGroupId(2);
+
+        assertNotEquals(userGroupId.hashCode(), userGroupId1.hashCode());
+    }
+}
\ No newline at end of file
-- 
GitLab