TDT4100-project/src/test/java/app/events/LanguageChangedEventTest.java

39 lines
1.1 KiB
Java

package app.events;
import static org.junit.jupiter.api.Assertions.assertThrows;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;
import app.model.Model;
import app.model.languages.Empty;
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()));
}
@Test
@DisplayName("Change into every possible language")
private void checkPossibleLanguages() {
new LanguageChangedEvent("Java");
this.mockModel.verify(() -> Model.setLanguage(new Java()));
new LanguageChangedEvent("Markdown");
this.mockModel.verify(() -> Model.setLanguage(new Java()));
new LanguageChangedEvent("Empty");
this.mockModel.verify(() -> Model.setLanguage(new Empty()));
assertThrows(IllegalArgumentException.class, () -> new LanguageChangedEvent(""));
}
}