From 006979aa457e1d14862882b4e390539b3bba4566 Mon Sep 17 00:00:00 2001 From: = Date: Mon, 25 May 2026 19:50:48 +0200 Subject: [PATCH] Update ViewManagerTest.java --- .../g40/mappe/view/ViewManagerTest.java | 69 ++++++++++++------- 1 file changed, 44 insertions(+), 25 deletions(-) diff --git a/src/test/java/edu/ntnu/idi/idatt2003/g40/mappe/view/ViewManagerTest.java b/src/test/java/edu/ntnu/idi/idatt2003/g40/mappe/view/ViewManagerTest.java index f4d04e9..0ecc2a9 100644 --- a/src/test/java/edu/ntnu/idi/idatt2003/g40/mappe/view/ViewManagerTest.java +++ b/src/test/java/edu/ntnu/idi/idatt2003/g40/mappe/view/ViewManagerTest.java @@ -2,7 +2,6 @@ import edu.ntnu.idi.idatt2003.g40.mappe.service.event.EventManager; import javafx.scene.Scene; -import javafx.scene.control.Button; import javafx.scene.layout.Pane; import javafx.stage.Stage; import org.junit.jupiter.api.Assertions; @@ -17,16 +16,22 @@ */ class ViewManagerTest extends ApplicationTest { + /** + * View manager object used for testing. + * */ private ViewManager testViewManager; - private EventManager testEventManager; - private ViewManagerTest.GenericViewElement genericViewElement; + + /** + * Generic view element instance used for testing. + * */ + private ViewManagerTest.GenericViewElement testViewElement; @Override public void start(final Stage stage) { stage.setScene(new Scene(new Pane())); - testEventManager = new EventManager(); + EventManager testEventManager = new EventManager(); testViewManager = new ViewManager(stage, testEventManager); - genericViewElement = new GenericViewElement(new Pane(), ViewEnum.IN_GAME); + testViewElement = new GenericViewElement(new Pane(), ViewEnum.IN_GAME); } @Test @@ -36,42 +41,59 @@ void testViewManagerHoldsNoViewAtStart() { @Test void addingMultipleOfSameViewThrowsException() { - testViewManager.addView(genericViewElement); + testViewManager.addView(testViewElement); Assertions.assertThrows(IllegalArgumentException.class, () -> { - testViewManager.addView(genericViewElement); + testViewManager.addView(testViewElement); }); } @Test void testViewManagerSettingCorrectView() { - testViewManager.addView(genericViewElement); - testViewManager.setScene(genericViewElement); - Assertions.assertEquals(genericViewElement, testViewManager.getCurrentView()); + testViewManager.addView(testViewElement); + testViewManager.setScene(testViewElement); + Assertions.assertEquals(testViewElement, testViewManager.getCurrentView()); } @Test void testViewManagerThrowingErrorWhenSettingNonExistentView() { Assertions.assertThrows(IllegalArgumentException.class, () -> { - testViewManager.setScene(genericViewElement); + testViewManager.setScene(testViewElement); }); } @Test void throwsErrorWhenAddingWidgetWithNoViewName() { - genericViewElement = new GenericViewElement(new Pane()); + testViewElement = new GenericViewElement(new Pane()); Assertions.assertThrows(IllegalArgumentException.class, () -> { - testViewManager.addView(genericViewElement); + testViewManager.addView(testViewElement); }); } - private enum GenericActions { - ACTION_1; + @Test + void settingViewThroughViewDataWorksAsExpected() { + GenericViewElement testViewElement2 = + new GenericViewElement(new Pane(), ViewEnum.MAIN_MENU); + + testViewManager.addView(testViewElement2); + ViewData viewData = new ViewData(ViewEnum.MAIN_MENU); + + Assertions.assertNotEquals(testViewElement2, + testViewManager.getCurrentView()); + + testViewManager.setScene(viewData); + Assertions.assertEquals(testViewElement2, testViewManager.getCurrentView()); } + private enum GenericActions { + // Empty. + } - private class GenericViewElement extends ViewElement { - public Boolean buttonPressed = false; - private Button interactableButton; + /** + * Generic view element class used to test view elements within + * the view manager. + * */ + private static class GenericViewElement + extends ViewElement { protected GenericViewElement(final Pane rootPane, final ViewEnum viewName) { super(rootPane, viewName, GenericActions.class); @@ -83,15 +105,12 @@ protected GenericViewElement(final Pane rootPane) { @Override protected void initLayout() { - interactableButton = new Button("Click me!"); - registerButton(GenericActions.ACTION_1, interactableButton); - } - - public Button getInteractableButton() { - return interactableButton; + // Empty for view manager testing. } @Override - protected void initStyling() { } + protected void initStyling() { + // Empty for view manager testing. + } } }