|
@@ -0,0 +1,37 @@
|
|
|
|
|
+package de.jplag.cli;
|
|
|
|
|
+
|
|
|
|
|
+import static com.github.stefanbirkner.systemlambda.SystemLambda.catchSystemExit;
|
|
|
|
|
+import static org.junit.jupiter.api.Assertions.assertEquals;
|
|
|
|
|
+
|
|
|
|
|
+import org.junit.jupiter.api.Test;
|
|
|
|
|
+
|
|
|
|
|
+import de.jplag.CommandLineArgument;
|
|
|
|
|
+import de.jplag.Language;
|
|
|
|
|
+import de.jplag.LanguageLoader;
|
|
|
|
|
+import de.jplag.options.JPlagOptions;
|
|
|
|
|
+
|
|
|
|
|
+class LanguageTest extends CommandLineInterfaceTest {
|
|
|
|
|
+
|
|
|
|
|
+ @Test
|
|
|
|
|
+ void testDefaultLanguage() {
|
|
|
|
|
+ buildOptionsFromCLI(CURRENT_DIRECTORY);
|
|
|
|
|
+ assertEquals(JPlagOptions.DEFAULT_LANGUAGE, options.getLanguageShortName());
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Test
|
|
|
|
|
+ void testInvalidLanguage() throws Exception {
|
|
|
|
|
+ String argument = buildArgument(CommandLineArgument.LANGUAGE, "Piet");
|
|
|
|
|
+ int statusCode = catchSystemExit(() -> buildOptionsFromCLI(argument, CURRENT_DIRECTORY));
|
|
|
|
|
+ assertEquals(1, statusCode);
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+ @Test
|
|
|
|
|
+ void testValidLanguages() {
|
|
|
|
|
+ for (Language language : LanguageLoader.loadLanguages()) {
|
|
|
|
|
+ String argument = buildArgument(CommandLineArgument.LANGUAGE, language.getShortName());
|
|
|
|
|
+ buildOptionsFromCLI(argument, CURRENT_DIRECTORY);
|
|
|
|
|
+ assertEquals(language.getShortName(), options.getLanguageShortName());
|
|
|
|
|
+ }
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
|
|
+}
|