@@ -0,0 +1,3065 @@
+package de.bmoth.app;%0A%0Aimport javafx.fxml.FXMLLoader;%0Aimport javafx.scene.Parent;%0Aimport javafx.stage.Stage;%0Aimport org.junit.Test;%0Aimport org.testfx.util.WaitForAsyncUtils;%0A%0Aimport java.util.concurrent.Future;%0A%0Aimport static org.junit.Assert.assertEquals;%0A%0A//TODO test with AppController%0Apublic class CustomCheckControllerTest extends HeadlessUITest  %7B%0A%0A    private static final String INITIAL_CHECK_ID = %22initialCheck%22;%0A%0A    Stage stage;%0A    private CustomCheckController customCheckController;%0A%0A    @Override%0A    public void start(Stage stage) throws Exception %7B%0A        FXMLLoader loader = new FXMLLoader(getClass().getResource(%22customCheck.fxml%22));%0A        Parent root = loader.load();%0A        customCheckController = loader.getController();%0A        this.stage = customCheckController.getStage(root);%0A        this.stage.show();%0A    %7D%0A%0A    @Test%0A    public void testHandleOk() %7B%0A        BMothPreferences.setBooleanPreference(BMothPreferences.BooleanPreference.INITIAL_CHECK, true);%0A        BMothPreferences.setBooleanPreference(BMothPreferences.BooleanPreference.INVARIANT_CHECK, true);%0A        BMothPreferences.setBooleanPreference(BMothPreferences.BooleanPreference.MODEL_CHECK, true);%0A%0A        assertEquals(true, BMothPreferences.getBooleanPreference(BMothPreferences.BooleanPreference.INITIAL_CHECK));%0A        assertEquals(true, BMothPreferences.getBooleanPreference(BMothPreferences.BooleanPreference.INVARIANT_CHECK));%0A        assertEquals(true, BMothPreferences.getBooleanPreference(BMothPreferences.BooleanPreference.MODEL_CHECK));%0A%0A        assertEquals(true, stage.isShowing());%0A        assertEquals(true, customCheckController.initialCheck.isSelected());%0A        assertEquals(true, customCheckController.invariantCheck.isSelected());%0A        assertEquals(true, customCheckController.modelCheck.isSelected());%0A%0A        clickOn(customCheckController.initialCheck);%0A        clickOn(customCheckController.modelCheck);%0A        clickOn(customCheckController.invariantCheck);%0A%0A        assertEquals(false, customCheckController.initialCheck.isSelected());%0A        assertEquals(false, customCheckController.invariantCheck.isSelected());%0A        assertEquals(false, customCheckController.modelCheck.isSelected());%0A%0A        Future%3CVoid%3E okClick = WaitForAsyncUtils.asyncFx(() -%3E customCheckController.handleOk());%0A        WaitForAsyncUtils.waitFor(okClick);%0A%0A        assertEquals(false, stage.isShowing());%0A        assertEquals(false, BMothPreferences.getBooleanPreference(BMothPreferences.BooleanPreference.INITIAL_CHECK));%0A        assertEquals(false, BMothPreferences.getBooleanPreference(BMothPreferences.BooleanPreference.INVARIANT_CHECK));%0A        assertEquals(false, BMothPreferences.getBooleanPreference(BMothPreferences.BooleanPreference.MODEL_CHECK));%0A    %7D%0A%0A    @Test%0A    public void handleClose() %7B%0A        assertEquals(true, stage.isShowing());%0A%0A        Future%3CVoid%3E okClick = WaitForAsyncUtils.asyncFx(() -%3E customCheckController.handleClose());%0A        WaitForAsyncUtils.waitFor(okClick);%0A%0A        assertEquals(false, stage.isShowing());%0A    %7D%0A%0A%0A%7D%0A

add test for CustomCheckController