diff --git a/src/main/java/app/controllers/MenubarController.java b/src/main/java/app/controllers/MenubarController.java index a57f33a..26ff94b 100644 --- a/src/main/java/app/controllers/MenubarController.java +++ b/src/main/java/app/controllers/MenubarController.java @@ -103,7 +103,7 @@ public class MenubarController implements Initializable, Controller { try { File dir = FileOperations.openFolderWithDialog(stage); - this.eventBus.post(new OpenProjectEvent(dir.toPath())); + this.eventBus.post(new OpenProjectEvent(Optional.of(dir.toPath()))); } catch (FileNotFoundException e) {} } diff --git a/src/main/java/app/events/OpenProjectEvent.java b/src/main/java/app/events/OpenProjectEvent.java index 3e45d6a..51e857d 100644 --- a/src/main/java/app/events/OpenProjectEvent.java +++ b/src/main/java/app/events/OpenProjectEvent.java @@ -10,21 +10,21 @@ import app.model.Model; */ public class OpenProjectEvent extends Event { - private Path path; + private Optional path; /** * Event signalizing that a folder is supposed to be opened in the filetree. * @param path The path of the folder to be opened */ - public OpenProjectEvent(Path path) { + public OpenProjectEvent(Optional path) { this.path = path; - Model.setProjectPath(Optional.of(path)); + Model.setProjectPath(path); } /** * @return The path of the folder to be opened */ - public Path getPath() { + public Optional getPath() { return this.path; } } diff --git a/src/test/java/app/events/LanguageChangedEventTest.java b/src/test/java/app/events/LanguageChangedEventTest.java new file mode 100644 index 0000000..e3c686f --- /dev/null +++ b/src/test/java/app/events/LanguageChangedEventTest.java @@ -0,0 +1,19 @@ +package app.events; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import app.model.Model; +import app.model.languages.Java; +import app.testing.EventTestTemplate; + +public class LanguageChangedEventTest extends EventTestTemplate { + + @Test + @DisplayName("Check that model gets changed on constructor") + private void checkModel() { + new LanguageChangedEvent("Java"); + this.mockModel.verify(() -> Model.setLanguage(new Java())); + } + +} diff --git a/src/test/java/app/events/OpenFileEventTest.java b/src/test/java/app/events/OpenFileEventTest.java new file mode 100644 index 0000000..8c8a9a3 --- /dev/null +++ b/src/test/java/app/events/OpenFileEventTest.java @@ -0,0 +1,20 @@ +package app.events; + +import java.util.Optional; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import app.model.Model; +import app.testing.EventTestTemplate; + +public class OpenFileEventTest extends EventTestTemplate { + + @Test + @DisplayName("Check that model gets changed on constructor") + private void checkModel() { + new OpenFileEvent(Optional.empty()); + this.mockModel.verify(() -> Model.setActiveFilePath(Optional.empty())); + } + +} diff --git a/src/test/java/app/events/OpenProjectEventTest.java b/src/test/java/app/events/OpenProjectEventTest.java new file mode 100644 index 0000000..0aea9d7 --- /dev/null +++ b/src/test/java/app/events/OpenProjectEventTest.java @@ -0,0 +1,21 @@ +package app.events; + +import java.util.Optional; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import app.model.Model; +import app.testing.EventTestTemplate; + +public class OpenProjectEventTest extends EventTestTemplate { + + @Test + @DisplayName("Check that model gets changed on constructor") + private void checkModel() { + new OpenProjectEvent(Optional.empty()); + this.mockModel.verify(() -> Model.setProjectPath(Optional.empty())); + } + +} + diff --git a/src/test/java/app/events/ThemeChangedEventTest.java b/src/test/java/app/events/ThemeChangedEventTest.java new file mode 100644 index 0000000..fa42421 --- /dev/null +++ b/src/test/java/app/events/ThemeChangedEventTest.java @@ -0,0 +1,18 @@ +package app.events; + +import org.junit.jupiter.api.DisplayName; +import org.junit.jupiter.api.Test; + +import app.model.Model; +import app.testing.EventTestTemplate; + +public class ThemeChangedEventTest extends EventTestTemplate { + + @Test + @DisplayName("Check that model gets changed on constructor") + private void checkModel() { + new ThemeChangedEvent("Monokai"); + this.mockModel.verify(() -> Model.setTheme("Monokai")); + } + +} diff --git a/util/run.bat b/util/run.bat index 919a6a8..3742bce 100644 --- a/util/run.bat +++ b/util/run.bat @@ -1,3 +1,5 @@ @ECHO OFF +call mvn package -Dmaven.test.skip=true + java -jar --enable-preview target/banana-editor-1.0.0.jar \ No newline at end of file