From ab02836a30344d38df3b503f7a5cac46f5494967 Mon Sep 17 00:00:00 2001 From: Mehrdad Shirvani Date: Thu, 16 Apr 2026 17:46:09 +0330 Subject: [PATCH] feat: add tests for main exercises and configure dependency in pom.xml --- pom.xml | 22 +++++++++++ src/test/java/TestPartitions.java | 65 ++++++++++++++++++++++++++++++ src/test/java/TestTraversal.java | 66 +++++++++++++++++++++++++++++++ src/test/java/TestTriangle.java | 54 +++++++++++++++++++++++++ 4 files changed, 207 insertions(+) create mode 100644 src/test/java/TestPartitions.java create mode 100644 src/test/java/TestTraversal.java create mode 100644 src/test/java/TestTriangle.java diff --git a/pom.xml b/pom.xml index 4d1101e..d469778 100644 --- a/pom.xml +++ b/pom.xml @@ -14,4 +14,26 @@ UTF-8 + + + org.junit.jupiter + junit-jupiter + 5.11.4 + test + + + + + + + + org.apache.maven.plugins + maven-surefire-plugin + 3.5.2 + + + + + + \ No newline at end of file diff --git a/src/test/java/TestPartitions.java b/src/test/java/TestPartitions.java new file mode 100644 index 0000000..0f489ae --- /dev/null +++ b/src/test/java/TestPartitions.java @@ -0,0 +1,65 @@ +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertArrayEquals; + +public class TestPartitions { + static Exercises ex; + + @BeforeAll + static void setUp() { + ex = new Exercises(); + } + + @Test + void testPartition0() { + int[][] expected = { + {1} + }; + assertArrayEquals(expected, ex.intPartitions(1)); + } + + @Test + void testPartition1() { + int[][] expected = { + {4}, + {3, 1}, + {2, 2}, + {2, 1, 1}, + {1, 1, 1, 1} + }; + assertArrayEquals(expected, ex.intPartitions(4)); + } + + @Test + void testPartition2() { + int[][] expected = { + {5}, + {4, 1}, + {3, 2}, + {3, 1, 1}, + {2, 2, 1}, + {2, 1, 1, 1}, + {1, 1, 1, 1, 1} + }; + assertArrayEquals(expected, ex.intPartitions(5)); + } + + @Test + void testPartition3() { + int[][] expected = { + {6}, + {5, 1}, + {4, 2}, + {4, 1, 1}, + {3, 3}, + {3, 2, 1}, + {3, 1, 1, 1}, + {2, 2, 2}, + {2, 2, 1, 1}, + {2, 1, 1, 1, 1}, + {1, 1, 1, 1, 1, 1} + }; + assertArrayEquals(expected, ex.intPartitions(6)); + } +} diff --git a/src/test/java/TestTraversal.java b/src/test/java/TestTraversal.java new file mode 100644 index 0000000..2255c50 --- /dev/null +++ b/src/test/java/TestTraversal.java @@ -0,0 +1,66 @@ +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertArrayEquals; + +public class TestTraversal { + static Exercises ex; + + @BeforeAll + static void setUp() { + ex = new Exercises(); + } + + @Test + void testTraverse0() { + int[][] nums = { + {1, 2, 3, 4, 5} + }; + int rows = 1; + int cols = 5; + int[] expected = {1, 2, 3, 4, 5}; + assertArrayEquals(expected, ex.spiralTraversal(nums, rows, cols)); + } + + @Test + void testTraverse1() { + int[][] nums = { + {1, 2, 3}, + {4, 5, 6}, + {7, 8, 9}, + {10, 11, 12} + }; + int rows = 4; + int cols = 3; + int[] expected = {1, 2, 3, 6, 9, 12, 11, 10, 7, 4, 5, 8}; + assertArrayEquals(expected, ex.spiralTraversal(nums, rows, cols)); + } + + @Test + void testTraverse2() { + int[][] nums = { + {1, 2, 3, 4}, + {5, 6, 7, 8} + }; + int rows = 2; + int cols = 4; + int[] expected = {1, 2, 3, 4, 8, 7, 6, 5}; + assertArrayEquals(expected, ex.spiralTraversal(nums, rows, cols)); + } + + @Test + void testTraverse3() { + int[][] nums = { + {1, 2, 3, 4, 5, 6}, + {7, 8, 9, 10, 11, 12}, + {13, 14, 15, 16, 17, 18}, + {19, 20, 21, 22, 23, 24}, + {25, 26, 27, 28, 29, 30} + }; + int rows = 5; + int cols = 6; + int[] expected = {1, 2, 3, 4, 5, 6, 12, 18, 24, 30, 29, 28, 27, 26, 25, 19, 13, 7, 8, 9, 10, 11, 17, 23, 22, 21, + 20, 14, 15, 16}; + assertArrayEquals(expected, ex.spiralTraversal(nums, rows, cols)); + } +} diff --git a/src/test/java/TestTriangle.java b/src/test/java/TestTriangle.java new file mode 100644 index 0000000..2254538 --- /dev/null +++ b/src/test/java/TestTriangle.java @@ -0,0 +1,54 @@ +import org.junit.jupiter.api.BeforeAll; +import org.junit.jupiter.api.Test; + +import static org.junit.jupiter.api.Assertions.assertArrayEquals; + +public class TestTriangle { + static Exercises ex; + + @BeforeAll + static void setUp() { + ex = new Exercises(); + } + + @Test + void testTriangle0() { + char[][] expected = { + {'*'}, + {'*', '*'} + }; + assertArrayEquals(expected, ex.generateTriangle(2)); + } + + @Test + void testTriangle1() { + char[][] expected = { + {'*'}, + {'*', '*'}, + {'*', ' ', '*'}, + {'*', '*', '*', '*'} + }; + assertArrayEquals(expected, ex.generateTriangle(4)); + } + + @Test + void testTriangle2() { + char[][] expected = { + {'*'}, + {'*', '*'}, + {'*', ' ', '*'}, + {'*', ' ', ' ', '*'}, + {'*', ' ', ' ', ' ', '*'}, + {'*', ' ', ' ', ' ', ' ', '*'}, + {'*', ' ', ' ', ' ', ' ', ' ', '*'}, + {'*', '*', '*', '*', '*', '*', '*', '*'} + }; + assertArrayEquals(expected, ex.generateTriangle(8)); + } + + @Test + void testTriangle3() { + char[][] expected = {}; + assertArrayEquals(expected, ex.generateTriangle(0)); + } +}