diff --git a/src/test/java/com/thealgorithms/dynamicprogramming/MinimumPathSumTest.java b/src/test/java/com/thealgorithms/dynamicprogramming/MinimumPathSumTest.java new file mode 100644 index 000000000..25e2d8372 --- /dev/null +++ b/src/test/java/com/thealgorithms/dynamicprogramming/MinimumPathSumTest.java @@ -0,0 +1,44 @@ +package com.thealgorithms.dynamicprogramming; + +import static org.junit.jupiter.api.Assertions.*; + +import org.junit.jupiter.api.Test; + +public class MinimumPathSumTest { + + @Test + public void testMinimumPathSumWithRegularGrid() { + int[][] grid = {{1, 3, 1}, {1, 5, 1}, {4, 2, 1}}; + assertEquals(7, MinimumPathSum.minimumPathSum(grid)); + } + + @Test + public void testMinimumPathSumWithOneRowOneColumnGrid() { + int[][] grid = {{2}}; + assertEquals(2, MinimumPathSum.minimumPathSum(grid)); + } + + @Test + public void testMinimumPathSumWithEmptyGrid() { + int[][] grid = {{}}; + assertEquals(0, MinimumPathSum.minimumPathSum(grid)); + } + + @Test + public void testMinimumPathSumWithOneColumnGrid() { + int[][] grid = {{1}, {2}, {3}}; + assertEquals(6, MinimumPathSum.minimumPathSum(grid)); + } + + @Test + public void testMinimumPathSumGridOneRowGrid() { + int[][] grid = {{1, 2, 3}}; + assertEquals(6, MinimumPathSum.minimumPathSum(grid)); + } + + @Test + public void testMinimumPathSumWithDiffRowAndColumnGrid() { + int[][] grid = {{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}}; + assertEquals(30, MinimumPathSum.minimumPathSum(grid)); + } +}