mirror of
https://github.com/TheAlgorithms/Java.git
synced 2025-07-27 22:43:30 +08:00
106
src/test/java/com/thealgorithms/backtracking/FloodFillTest.java
Normal file
106
src/test/java/com/thealgorithms/backtracking/FloodFillTest.java
Normal file
@ -0,0 +1,106 @@
|
||||
package com.thealgorithms.backtracking;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertArrayEquals;
|
||||
|
||||
class FloodFillTest {
|
||||
|
||||
@Test
|
||||
void testForEmptyImage()
|
||||
{
|
||||
int image[][] = {};
|
||||
int expected[][] = {};
|
||||
|
||||
FloodFill.floodFill(image, 4, 5, 3, 2);
|
||||
assertArrayEquals(expected, image);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
void testForSingleElementImage()
|
||||
{
|
||||
int image[][] = {{1}};
|
||||
int expected[][] = {{3}};
|
||||
|
||||
FloodFill.floodFill(image, 0, 0, 3, 1);
|
||||
assertArrayEquals(expected, image);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
void testForImageOne()
|
||||
{
|
||||
int image[][] = {
|
||||
{ 0,0,0,0,0,0,0 },
|
||||
{ 0,3,3,3,3,0,0 },
|
||||
{ 0,3,1,1,5,0,0 },
|
||||
{ 0,3,1,1,5,5,3 },
|
||||
{ 0,3,5,5,1,1,3 },
|
||||
{ 0,0,0,5,1,1,3 },
|
||||
{ 0,0,0,3,3,3,3 }
|
||||
};
|
||||
|
||||
int expected[][] = {
|
||||
{ 0,0,0,0,0,0,0 },
|
||||
{ 0,3,3,3,3,0,0 },
|
||||
{ 0,3,2,2,5,0,0 },
|
||||
{ 0,3,2,2,5,5,3 },
|
||||
{ 0,3,5,5,2,2,3 },
|
||||
{ 0,0,0,5,2,2,3 },
|
||||
{ 0,0,0,3,3,3,3 }
|
||||
};
|
||||
|
||||
FloodFill.floodFill(image,2,2,2,1);
|
||||
assertArrayEquals(expected, image);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
void testForImageTwo()
|
||||
{
|
||||
int image[][] = {
|
||||
{ 0,0,1,1,0,0,0 },
|
||||
{ 1,1,3,3,3,0,0 },
|
||||
{ 1,3,1,1,5,0,0 },
|
||||
{ 0,3,1,1,5,5,3 },
|
||||
{ 0,3,5,5,1,1,3 },
|
||||
{ 0,0,0,5,1,1,3 },
|
||||
{ 0,0,0,1,3,1,3 }
|
||||
};
|
||||
|
||||
int expected[][] = {
|
||||
{ 0,0,2,2,0,0,0 },
|
||||
{ 2,2,3,3,3,0,0 },
|
||||
{ 2,3,2,2,5,0,0 },
|
||||
{ 0,3,2,2,5,5,3 },
|
||||
{ 0,3,5,5,2,2,3 },
|
||||
{ 0,0,0,5,2,2,3 },
|
||||
{ 0,0,0,2,3,2,3 }
|
||||
};
|
||||
|
||||
FloodFill.floodFill(image, 2, 2, 2, 1);
|
||||
assertArrayEquals(expected, image);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
void testForImageThree()
|
||||
{
|
||||
int image[][] = {
|
||||
{ 1,1,2,3,1,1,1 },
|
||||
{ 1,0,0,1,0,0,1 },
|
||||
{ 1,1,1,0,3,1,2 }
|
||||
};
|
||||
|
||||
int expected[][] = {
|
||||
{ 4,4,2,3,4,4,4 },
|
||||
{ 4,0,0,4,0,0,4 },
|
||||
{ 4,4,4,0,3,4,2 },
|
||||
};
|
||||
|
||||
FloodFill.floodFill(image, 0, 1, 4, 1);
|
||||
assertArrayEquals(expected, image);
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user