Enhance docs, add more tests in HamiltonianCycle (#5963)

This commit is contained in:
Hardik Pawar
2024-10-24 10:52:24 +05:30
committed by GitHub
parent 1b51e3e988
commit 3a9a2c4160
2 changed files with 92 additions and 34 deletions

View File

@@ -6,7 +6,7 @@ import org.junit.jupiter.api.Test;
class HamiltonianCycleTest {
private HamiltonianCycle hamiltonianCycle = new HamiltonianCycle();
private final HamiltonianCycle hamiltonianCycle = new HamiltonianCycle();
@Test
void testFindHamiltonianCycleShouldReturnHamiltonianCycle() {
@@ -36,4 +36,63 @@ class HamiltonianCycleTest {
assertArrayEquals(expectedArray, hamiltonianCycle.findHamiltonianCycle(inputArray));
}
@Test
void testSingleVertexGraph() {
int[] expectedArray = {0, 0};
int[][] inputArray = {{0}};
assertArrayEquals(expectedArray, hamiltonianCycle.findHamiltonianCycle(inputArray));
}
@Test
void testDisconnectedGraphShouldReturnInfinityArray() {
int[] expectedArray = {-1, -1, -1, -1, -1};
int[][] inputArray = {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}};
assertArrayEquals(expectedArray, hamiltonianCycle.findHamiltonianCycle(inputArray));
}
@Test
void testCompleteGraphShouldReturnHamiltonianCycle() {
int[] expectedArray = {0, 1, 2, 3, 4, 0};
int[][] inputArray = {
{0, 1, 1, 1, 1},
{1, 0, 1, 1, 1},
{1, 1, 0, 1, 1},
{1, 1, 1, 0, 1},
{1, 1, 1, 1, 0},
};
assertArrayEquals(expectedArray, hamiltonianCycle.findHamiltonianCycle(inputArray));
}
@Test
void testGraphWithNoEdgesShouldReturnInfinityArray() {
int[] expectedArray = {-1, -1, -1, -1, -1, -1};
int[][] inputArray = {
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
{0, 0, 0, 0, 0},
};
assertArrayEquals(expectedArray, hamiltonianCycle.findHamiltonianCycle(inputArray));
}
@Test
void testLargeGraphWithHamiltonianCycle() {
int[] expectedArray = {0, 1, 2, 3, 4, 0};
int[][] inputArray = {
{0, 1, 0, 1, 1},
{1, 0, 1, 1, 0},
{0, 1, 0, 1, 1},
{1, 1, 1, 0, 1},
{1, 0, 1, 1, 0},
};
assertArrayEquals(expectedArray, hamiltonianCycle.findHamiltonianCycle(inputArray));
}
}