Select Git revision
ParserTest.java
Johannes Mey authored
ParserTest.java 1.32 KiB
package de.tudresden.inf.st.mg;
import de.tudresden.inf.st.mg.common.MotionGrammarParser;
import de.tudresden.inf.st.mg.jastadd.model.T1;
import de.tudresden.inf.st.mg.jastadd.model.World;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.Test;
import java.io.File;
import java.io.IOException;
import java.nio.file.Files;
import java.nio.file.Path;
import java.util.Comparator;
import java.util.Random;
import static org.assertj.core.api.Assertions.assertThat;
public class ParserTest {
public static final Path AST_DIAGRAM_DIR = Path.of("src", "gen", "resources", "diagrams", "parsing");
@BeforeAll
static void prepareOutputPath() throws IOException {
try {
Files.walk(AST_DIAGRAM_DIR)
.sorted(Comparator.reverseOrder())
.map(Path::toFile)
.forEach(File::delete);
} catch (IOException e) {
// do nothing
}
Files.createDirectories(AST_DIAGRAM_DIR);
}
@Test
void runParser() throws MotionGrammarParser.ParseException {
// for some reason, the best random seed value here is 1 and not 0???
World world = World.initialWorld(new Random(1));
WorldParser parser = new WorldParser(world);
parser.setDebugDiagramDir(AST_DIAGRAM_DIR);
var result = parser.parse();
assertThat(result).isNotNull().isInstanceOf(T1.class);
}
}