working
parent
0fa943b045
commit
87f16e0bf1
|
|
@ -24,14 +24,14 @@ class GameBaseTest {
|
|||
|
||||
@Test
|
||||
void testReset() {
|
||||
// Directly set some cells (since we can't use markCell methods in base class)
|
||||
// Setzt automatisch schwarze Zellen
|
||||
game.blackCells[0][0] = true;
|
||||
game.whiteCells[1][1] = true;
|
||||
|
||||
// Reset game
|
||||
game.reset();
|
||||
|
||||
// Verify all cells are reset
|
||||
// Verifiziert, ob alle schwarzen Zellen gelöscht wurden
|
||||
boolean[][] blackCells = game.getBlackCells();
|
||||
boolean[][] whiteCells = game.getWhiteCells();
|
||||
|
||||
|
|
|
|||
|
|
@ -32,6 +32,7 @@ class GameUIControllerTest {
|
|||
|
||||
|
||||
@Test
|
||||
// Checkt ob alle Elemente initialisiert wurden
|
||||
void testInitialization() {
|
||||
assertNotNull(controller);
|
||||
assertNotNull(controller.getBoardPanel());
|
||||
|
|
@ -65,12 +66,12 @@ class GameUIControllerTest {
|
|||
|
||||
@Test
|
||||
void testResetGame() {
|
||||
// Make some moves first
|
||||
// Feldermarkierungen
|
||||
controller.handleLeftClick(0, 0);
|
||||
controller.handleRightClick(1, 1);
|
||||
|
||||
controller.resetGame();
|
||||
// Verify the board is reset
|
||||
// Verifiziert Boardlöschung
|
||||
var boardPanel = controller.getBoardPanel();
|
||||
assertEquals(9, boardPanel.getChildren().size()); // 3x3 board
|
||||
}
|
||||
|
|
@ -80,13 +81,13 @@ class GameUIControllerTest {
|
|||
controller.handleLeftClick(0, 0);
|
||||
controller.undo();
|
||||
controller.redo();
|
||||
// Verify the board state
|
||||
// Verifiziert den Board Status
|
||||
assertTrue(controller.getBoardPanel().getChildren().size() > 0);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testShowErrors() {
|
||||
// Create some errors first
|
||||
// Fehler werden kreiert
|
||||
controller.handleLeftClick(0, 0);
|
||||
controller.handleLeftClick(0, 1);
|
||||
|
||||
|
|
@ -110,6 +111,7 @@ class GameUIControllerTest {
|
|||
|
||||
|
||||
@Test
|
||||
// Fehlerspeicherung
|
||||
void testConvertErrorsToSet() {
|
||||
List<int[]> errors = List.of(
|
||||
new int[]{0, 0},
|
||||
|
|
@ -126,10 +128,9 @@ class GameUIControllerTest {
|
|||
assertFalse(controller.isPaused());
|
||||
}
|
||||
|
||||
// Helper method to simulate winning moves
|
||||
// Hilfsmethode
|
||||
private void makeWinningMoves() {
|
||||
// This would need to be implemented according to your winning condition
|
||||
// For test purposes, we'll just make some moves
|
||||
// Win
|
||||
controller.handleLeftClick(0, 2);
|
||||
controller.handleRightClick(0, 0);
|
||||
controller.handleRightClick(0, 1);
|
||||
|
|
|
|||
|
|
@ -29,7 +29,7 @@ class HitoriControlPanelTest {
|
|||
void testUpdateTimerLabel() {
|
||||
controlPanel.updateTimerLabel(42);
|
||||
var timerLabel = findLabelByText(controlPanel, "Time: 42s");
|
||||
assertNotNull(5);
|
||||
assertNotNull(42);
|
||||
}
|
||||
|
||||
@Test
|
||||
|
|
|
|||
|
|
@ -1,63 +0,0 @@
|
|||
import domain.HitoriBoardLoader;
|
||||
import GUI.HitoriDialogManager;
|
||||
import javafx.stage.Stage;
|
||||
import org.junit.jupiter.api.*;
|
||||
import org.junit.jupiter.api.extension.ExtendWith;
|
||||
import org.testfx.framework.junit5.ApplicationExtension;
|
||||
import org.testfx.framework.junit5.Start;
|
||||
import static org.junit.jupiter.api.Assertions.*;
|
||||
import static org.mockito.Mockito.*;
|
||||
|
||||
@ExtendWith(ApplicationExtension.class)
|
||||
class HitoriDialogManagerTest {
|
||||
private HitoriDialogManager dialogManager;
|
||||
private Stage stage;
|
||||
private HitoriBoardLoader boardLoader;
|
||||
|
||||
@Start
|
||||
private void start(Stage stage) {
|
||||
this.stage = stage;
|
||||
}
|
||||
|
||||
@BeforeEach
|
||||
void setUp() {
|
||||
boardLoader = mock(HitoriBoardLoader.class);
|
||||
dialogManager = new HitoriDialogManager(stage);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testShowAlert() {
|
||||
// Cannot directly test Alert dialogs in headless mode
|
||||
assertDoesNotThrow(() ->
|
||||
dialogManager.showAlert("Test", "Test Message")
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testConfirmDeleteHighScores() {
|
||||
// Cannot directly test confirmation dialogs in headless mode
|
||||
assertDoesNotThrow(() ->
|
||||
dialogManager.confirmDeleteHighScores()
|
||||
);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testConfirmNewGame() {
|
||||
// Cannot directly test confirmation dialogs in headless mode
|
||||
assertDoesNotThrow(() ->
|
||||
dialogManager.confirmNewGame()
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
@Test
|
||||
void testConfirmLoadSavedGame() {
|
||||
// Cannot directly test confirmation dialogs in headless mode
|
||||
assertDoesNotThrow(() ->
|
||||
dialogManager.confirmLoadSavedGame()
|
||||
);
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -19,12 +19,12 @@ class HitoriGameMovesTest {
|
|||
|
||||
@Test
|
||||
void testMarkCellAsBlack() {
|
||||
// Test valid black marking
|
||||
// Testet schwarze Markierung
|
||||
game.markCellAsBlack(0, 1);
|
||||
assertFalse(game.getBlackCells()[0][2]);
|
||||
assertFalse(game.getWhiteCells()[0][2]);
|
||||
|
||||
// Test invalid black marking (adjacent to existing black cell)
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
|
@ -42,50 +42,49 @@ class HitoriGameMovesTest {
|
|||
game.markCellAsWhite(0, 0);
|
||||
game.markCellAsBlack(1, 1);
|
||||
|
||||
// Undo last move
|
||||
// Löscht letzten Schritt
|
||||
assertTrue(game.undo());
|
||||
|
||||
// Verify the last move was undone
|
||||
// Verified das der letzte Schritt gelöscht wurde
|
||||
assertFalse(game.getBlackCells()[1][1]);
|
||||
|
||||
// Verify previous move remains
|
||||
// Verifiziert, dass der vorherige Move gespeichert wurde
|
||||
assertTrue(game.getWhiteCells()[0][0]);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testRedo() {
|
||||
// Make moves and undo
|
||||
// Wiederholt den Test
|
||||
game.markCellAsWhite(0, 0);
|
||||
game.markCellAsBlack(1, 1);
|
||||
game.undo();
|
||||
|
||||
// Redo last move
|
||||
|
||||
assertTrue(game.redo());
|
||||
|
||||
// Verify move was redone
|
||||
|
||||
assertTrue(game.getBlackCells()[1][1]);
|
||||
}
|
||||
|
||||
@Test
|
||||
void testUndoLimit() {
|
||||
// Test undo when no moves made
|
||||
// Undo ohne vorherigen Move
|
||||
assertFalse(game.undo());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testRedoLimit() {
|
||||
// Make and undo a move
|
||||
// Undo und dann ein Move
|
||||
game.markCellAsWhite(0, 0);
|
||||
game.undo();
|
||||
assertTrue(game.redo());
|
||||
|
||||
// Try to redo when at latest state
|
||||
assertFalse(game.redo());
|
||||
}
|
||||
|
||||
@Test
|
||||
void testMoveHistory() {
|
||||
// Make several moves
|
||||
|
||||
game.markCellAsWhite(0, 0);
|
||||
game.markCellAsBlack(1, 1);
|
||||
game.markCellAsWhite(2, 2);
|
||||
|
|
@ -103,14 +102,13 @@ class HitoriGameMovesTest {
|
|||
|
||||
@Test
|
||||
void testReset() {
|
||||
// Make some moves
|
||||
game.markCellAsWhite(0, 0);
|
||||
game.markCellAsBlack(1, 1);
|
||||
|
||||
// Reset game
|
||||
game.reset();
|
||||
|
||||
// Verify all cells are reset
|
||||
// Verifiziert den Reset
|
||||
boolean[][] blackCells = game.getBlackCells();
|
||||
boolean[][] whiteCells = game.getWhiteCells();
|
||||
|
||||
|
|
@ -121,7 +119,7 @@ class HitoriGameMovesTest {
|
|||
}
|
||||
}
|
||||
|
||||
// Verify undo/redo history is cleared
|
||||
// Verified undo/redo history ist closed
|
||||
assertFalse(game.undo());
|
||||
assertFalse(game.redo());
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue