TextFrontendTest.java 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  1. package jplag.text;
  2. import static org.junit.jupiter.api.Assertions.assertEquals;
  3. import static org.junit.jupiter.api.Assertions.assertTrue;
  4. import java.io.File;
  5. import java.nio.file.Path;
  6. import java.util.HashMap;
  7. import java.util.Map;
  8. import org.junit.jupiter.api.BeforeEach;
  9. import org.junit.jupiter.api.Test;
  10. import org.slf4j.Logger;
  11. import org.slf4j.LoggerFactory;
  12. import de.jplag.Token;
  13. import de.jplag.TokenList;
  14. import de.jplag.TokenPrinter;
  15. import de.jplag.text.Language;
  16. class TextFrontendTest {
  17. private final Logger logger = LoggerFactory.getLogger("JPlag-Test");
  18. private static final Path BASE_PATH = Path.of("src", "test", "resources");
  19. private static final String TEST_SUBJECT = "FutureJavaDoc.txt";
  20. private de.jplag.Language frontend;
  21. private File baseDirectory;
  22. @BeforeEach
  23. public void setUp() {
  24. frontend = new Language();
  25. baseDirectory = BASE_PATH.toFile();
  26. assertTrue(baseDirectory.exists(), "Could not find base directory!");
  27. }
  28. @Test
  29. void testParsingJavaDoc() {
  30. // Parse test input
  31. String[] input = new String[] {TEST_SUBJECT};
  32. TokenList result = frontend.parse(baseDirectory, input);
  33. logger.info(TokenPrinter.printTokens(result, baseDirectory));
  34. // Compare parsed tokens:
  35. Map<Integer, Token> tokenTypes = new HashMap<>();
  36. result.allTokens().forEach(it -> tokenTypes.put(it.getType(), it));
  37. assertEquals(293, result.size());
  38. assertEquals(156, tokenTypes.values().size());
  39. }
  40. }