From 2e397fd97171d053fc90cdb5e4e63c844daee3c9 Mon Sep 17 00:00:00 2001 From: Oystein Date: Fri, 23 Apr 2021 11:29:09 +0200 Subject: [PATCH] EventTests --- .../app/controllers/MenubarController.java | 2 +- .../java/app/events/OpenProjectEvent.java | 8 +++---- .../app/events/LanguageChangedEventTest.java | 19 +++++++++++++++++ .../java/app/events/OpenFileEventTest.java | 20 ++++++++++++++++++ .../java/app/events/OpenProjectEventTest.java | 21 +++++++++++++++++++ .../app/events/ThemeChangedEventTest.java | 18 ++++++++++++++++ util/run.bat | 2 ++ 7 files changed, 85 insertions(+), 5 deletions(-) create mode 100644 src/test/java/app/events/LanguageChangedEventTest.java create mode 100644 src/test/java/app/events/OpenFileEventTest.java create mode 100644 src/test/java/app/events/OpenProjectEventTest.java create mode 100644 src/test/java/app/events/ThemeChangedEventTest.java 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