| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- package de.jplag.emf.model;
- import static java.util.stream.Collectors.toList;
- import static org.junit.jupiter.api.Assertions.assertEquals;
- import static org.junit.jupiter.api.Assertions.assertNotEquals;
- import java.io.File;
- import java.nio.file.Path;
- import java.util.ArrayList;
- import java.util.Arrays;
- import java.util.List;
- import org.junit.jupiter.api.AfterEach;
- import org.junit.jupiter.api.BeforeEach;
- import org.junit.jupiter.api.Test;
- import org.slf4j.Logger;
- import org.slf4j.LoggerFactory;
- import de.jplag.TokenList;
- import de.jplag.TokenPrinter;
- import de.jplag.emf.dynamic.DynamicMetamodelTokenConstants;
- import de.jplag.testutils.FileUtil;
- import de.jplag.testutils.TestErrorConsumer;
- class MinimalModelInstanceTest {
- private final Logger logger = LoggerFactory.getLogger("JPlag-Test");
- private static final Path BASE_PATH = Path.of("src", "test", "resources", "de", "jplag", "books");
- private static final String[] TEST_SUBJECTS = {"bookStore.ecore", "bookStore.xml", "bookStore2.xml"};
- private Language frontend;
- private File baseDirectory;
- @BeforeEach
- public void setUp() {
- TestErrorConsumer consumer = new TestErrorConsumer();
- frontend = new Language(consumer);
- baseDirectory = BASE_PATH.toFile();
- FileUtil.assertDirectory(baseDirectory, TEST_SUBJECTS);
- }
- @Test
- void testBookStoreInstances() {
- File baseFile = new File(BASE_PATH.toString());
- var sortedFiles = frontend.customizeSubmissionOrder(new ArrayList<>(Arrays.stream(baseFile.listFiles()).toList()));
- var testSubjects = sortedFiles.stream().map(File::getName).filter(it -> !it.endsWith(Language.VIEW_FILE_SUFFIX)).toArray(String[]::new);
- TokenList result = frontend.parse(baseDirectory, testSubjects);
- assertNotEquals(0, result.size());
- List<String> treeViewFiles = Arrays.stream(testSubjects).map(it -> it + Language.VIEW_FILE_SUFFIX).collect(toList());
- logger.info(TokenPrinter.printTokens(result, baseDirectory, treeViewFiles));
- logger.info("Dynamic token set: " + DynamicMetamodelTokenConstants.getTokenStrings());
- logger.info("Parsed tokens: " + result.allTokens().toString());
- assertEquals(7, result.size());
- }
- @AfterEach
- public void tearDown() {
- FileUtil.clearFiles(new File(BASE_PATH.toString()), Language.VIEW_FILE_SUFFIX);
- }
- }
|