Skip to content

Commit

Permalink
Update ViewControllerTest.java
Browse files Browse the repository at this point in the history
  • Loading branch information
tommyah committed May 25, 2026
1 parent 98bdd9f commit c174d6e
Showing 1 changed file with 33 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -11,30 +11,40 @@
import org.testfx.framework.junit5.ApplicationTest;

class ViewControllerTest extends ApplicationTest {
private EventManager testEventManager;
private GenericViewController testViewController;

/**
* View element instance used for testing.
* */
private GenericViewElement testViewElement;

@Override
public void start(Stage stage) {
testEventManager = new EventManager();
testViewElement = new ViewControllerTest.GenericViewElement(new Pane());
testViewController = new GenericViewController(testViewElement, testEventManager);
public void start(final Stage stage) {
EventManager testEventManager = new EventManager();
testViewElement = new GenericViewElement(new Pane());
new GenericViewController(testViewElement, testEventManager);
}

@Test
void controllerElementSetsButtonBehavior() {
assertFalse(testViewElement.buttonPressed);
assertFalse(testViewElement.getButtonPressed());
testViewElement.getInteractableButton().fire();
assertTrue(testViewElement.buttonPressed);
assertTrue(testViewElement.getButtonPressed());
}

private enum GenericViewActions {
/**
* Action used for testing purposes.
* */
TEST_ACTION;
}

private class GenericViewElement extends ViewElement<Pane, GenericViewActions> {
public Boolean buttonPressed = false;
/**
* Test class meant for simulating a view element instance.
*
* @see ViewElement
* */
private static class GenericViewElement extends ViewElement<Pane, GenericViewActions> {
private boolean buttonPressed = false;
private Button interactableButton;

protected GenericViewElement(final Pane rootPane) {
Expand All @@ -51,11 +61,22 @@ public Button getInteractableButton() {
return interactableButton;
}

public boolean getButtonPressed() {
return buttonPressed;
}

@Override
protected void initStyling() { }
protected void initStyling() {
// Empty
}
}

private class GenericViewController extends ViewController<ViewControllerTest.GenericViewElement> {
/**
* View controller class used for testing.
*
* @see ViewController
* */
private static class GenericViewController extends ViewController<ViewControllerTest.GenericViewElement> {

protected GenericViewController(final ViewControllerTest.GenericViewElement viewElement,
final EventManager eventManager)
Expand Down

0 comments on commit c174d6e

Please sign in to comment.