package org.softlang.company.test;
import static org.junit.Assert.assertEquals;
import java.io.File;
import java.io.IOException;
import javax.print.PrintException;
import org.antlr.v4.runtime.RecognitionException;
import org.antlr.v4.runtime.RuleContext;
import org.antlr.v4.runtime.tree.ParseTree;
import org.junit.Test;
import org.softlang.company.antlr.CompanyParser;
import org.softlang.company.features.*;
public class TotalVisitorTest {
private static String sampleCompany = "inputs" + File.separator
+ "sample.Company";
@Test
public void testTotal() throws RecognitionException, IOException, PrintException {
CompanyParser parser = Parsing.parse(sampleCompany);
parser.setBuildParseTree(true);
ParseTree tree = parser.company(); // top rule
// Print the parsetree as Postscript graphics
new File("outputs").mkdir();
((RuleContext)tree).save(parser, "outputs"+File.separator+"company.ps");
// Create the visitor, whoch totals
TotalVisitor t= new TotalVisitor();
// start the visit and colloct result
Float salary=t.visit(tree);
System.out.println("Total salaries: "+salary);
assertEquals(399747, t.visit(tree) , 0);
}
}