LanguageTest.java 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. package de.jplag.cli;
  2. import static com.github.stefanbirkner.systemlambda.SystemLambda.catchSystemExit;
  3. import static org.junit.jupiter.api.Assertions.assertEquals;
  4. import org.junit.jupiter.api.Test;
  5. import de.jplag.CommandLineArgument;
  6. import de.jplag.Language;
  7. import de.jplag.LanguageLoader;
  8. import de.jplag.options.JPlagOptions;
  9. class LanguageTest extends CommandLineInterfaceTest {
  10. @Test
  11. void testDefaultLanguage() {
  12. buildOptionsFromCLI(CURRENT_DIRECTORY);
  13. assertEquals(JPlagOptions.DEFAULT_LANGUAGE, options.getLanguageShortName());
  14. }
  15. @Test
  16. void testInvalidLanguage() throws Exception {
  17. String argument = buildArgument(CommandLineArgument.LANGUAGE, "Piet");
  18. int statusCode = catchSystemExit(() -> buildOptionsFromCLI(argument, CURRENT_DIRECTORY));
  19. assertEquals(1, statusCode);
  20. }
  21. @Test
  22. void testValidLanguages() {
  23. for (Language language : LanguageLoader.loadLanguages()) {
  24. String argument = buildArgument(CommandLineArgument.LANGUAGE, language.getShortName());
  25. buildOptionsFromCLI(argument, CURRENT_DIRECTORY);
  26. assertEquals(language.getShortName(), options.getLanguageShortName());
  27. }
  28. }
  29. }