/
java56
/
Minesweeper
Обзор
Документация
Войти
/
java56
/
Minesweeper
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
src/test/java/com/mikhail/minesweeper/service/GameFieldServiceTest.java
66 строк
2 KB
Mikhail Gorbatenkov
51 - add tests for the game field service
20 фев 2025, 11:27
20 фев 2025, 11:27
1dfb725
Код
Авторство
О чём код?
package com.mikhail.minesweeper.service; import com.mikhail.minesweeper.model.CellValue; import com.mikhail.minesweeper.model.Game; import com.mikhail.minesweeper.model.GameStatus; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.DisplayName; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith; import org.mockito.junit.jupiter.MockitoExtension; import java.util.ArrayList; import java.util.Arrays; import java.util.List; import static org.junit.jupiter.api.Assertions.*; @ExtendWith(MockitoExtension.class) class GameFieldServiceTest { private GameFieldService serviceUnderTest; @BeforeEach void setUp() { serviceUnderTest = new GameFieldService(); } @DisplayName(value = "Должен вернуть игровое поле, когда генерируем карту с минами.") @Test void shouldReturnGameFieldWhenGenerateGameField() { // Given Game game = new Game(3, 5, 6); // When List<List<String>> gameField = serviceUnderTest.generateGameField(game); // Then assertEquals(5, gameField.size()); assertEquals(3, gameField.get(0).size()); int emptyCount = gameField.stream() .flatMap(List::stream) .filter(cell -> !cell.equals(CellValue.MINE.getValue())) .toList() .size(); assertEquals(9, emptyCount); } @DisplayName(value = "Должна открываться ячейка, когда пользователь открывает ячейку на игровом поле") @Test void shouldCellOpenWhenUserOpenCellOnPlayingField() { // Given Game game = new Game(3, 3, 1); List<List<String>> field = new ArrayList<>(); field.add(Arrays.asList("М", " ", " ")); field.add(Arrays.asList(" ", "1", " ")); field.add(Arrays.asList(" ", " ", " ")); game.setField(field); // When serviceUnderTest.openCell(game, 1, 0); // Then assertEquals("1", game.getField().get(1).get(1)); assertEquals(GameStatus.ONGOING, game.getStatus()); } }