/
NikolayIvkin
/
TheAlgorithms
Обзор
Документация
Войти
/
NikolayIvkin
/
TheAlgorithms
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/test/java/com/thealgorithms/backtracking/FloodFillTest.java
106 строк
3 KB
Manan Solanki
Fix : Floodfill infinite recursion due to same color (#4359)
09 сен 2023, 21:07
Не верифицирован
09 сен 2023, 21:07
a88abb7
Код
Авторство
О чём код?
package com.thealgorithms.backtracking; import static org.junit.jupiter.api.Assertions.assertArrayEquals; import org.junit.jupiter.api.Test; 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); } @Test void testForSameNewAndOldColor() { int[][] image = {{1, 1, 2}, {1, 0, 0}, {1, 1, 1}}; int[][] expected = {{1, 1, 2}, {1, 0, 0}, {1, 1, 1}}; FloodFill.floodFill(image, 0, 1, 1, 1); assertArrayEquals(expected, image); } }