package org.softlang.company.test; import static org.junit.Assert.*; import static org.softlang.company.features.Parsing.parse; import org.antlr.v4.runtime.*; import java.io.File; import java.io.IOException; import java.util.concurrent.ExecutionException; import javax.print.PrintException; import org.junit.Test; import org.softlang.company.antlr.CompanyParser; public class ParsingTest { private static String posSample = "inputs" + File.separator + "sample.Company"; private static String negSample = "inputs" + File.separator + "nonSample.Company"; @Test public void testPositive() throws RecognitionException, IOException, InterruptedException, ExecutionException, PrintException { CompanyParser parser = parse(posSample); System.out.println(parser.getBuildParseTree()); parser.setBuildParseTree(true); RuleContext tree = parser.company(); System.out.println("Showing"); new File("outputs").mkdir(); tree.save(parser, "outputs" + File.separator + "company.ps"); // Future<JDialog> dia = tree.inspect(parser); // dia.get(); System.out.println("Done."); } @Test public void testNegative() throws IOException { CompanyParser parser = parse(negSample); parser.company(); assertTrue(parser.getNumberOfSyntaxErrors() > 0); } }