public void integerTest() { var errorManager = new CodeErrorManager(); var scanner = new SourceCodeScanner(errorManager, "123".toCharArray()); Assert.assertEquals(LexicalUnit.DecimalIntegerLiteral, scanner.nextLexicalUnit()); Assert.assertEquals(3, scanner.EndPosition); }
public void keywordTest() { var errorManager = new CodeErrorManager(); var scanner = new SourceCodeScanner(errorManager, "class".toCharArray()); Assert.assertEquals(LexicalUnit.Keyword, scanner.nextLexicalUnit()); Assert.assertEquals(Keyword.Class, scanner.Keyword); }
public void integersTest() { var errorManager = new CodeErrorManager(); var scanner = new SourceCodeScanner(errorManager, "1 3".toCharArray()); Assert.assertEquals(LexicalUnit.DecimalIntegerLiteral, scanner.nextLexicalUnit()); Assert.assertEquals(1, scanner.EndPosition); Assert.assertEquals(LexicalUnit.Whitespace, scanner.nextLexicalUnit()); Assert.assertEquals(2, scanner.EndPosition); Assert.assertEquals(LexicalUnit.DecimalIntegerLiteral, scanner.nextLexicalUnit()); Assert.assertEquals(3, scanner.EndPosition); }
private void doTest(String test) { var userDir = System.getProperty("user.dir"); var sourcePath = PathHelper.combine(PathHelper.combine(userDir, "tests/resources/QueryTranslatorTest/sources"), test + ".stab.cs"); var fileReader = new InputStreamReader(new FileInputStream((sourcePath)), Charset.forName("UTF-8")); var code = readToEnd(fileReader); var text = code.toCharArray(); translator = new QueryTranslator(text); var parser = new Parser(); var scanner = new SourceCodeScanner(new CodeErrorManager(), text); var compilationUnit = parser.parseCompilationUnit(scanner); var result = translate(text, compilationUnit); var generatedPath = PathHelper.combine(userDir, "tests/resources/QueryTranslatorTest/generated"); var generatedDir = new File(generatedPath); if (!generatedDir.exists()) { generatedDir.mkdir(); } var fileWriter = new FileWriter(PathHelper.combine(generatedPath, test + ".stab.cs")); fileWriter.write(result); fileWriter.close(); var expectedPath = PathHelper.combine(userDir, "tests/resources/QueryTranslatorTest/expected"); var expectedFile = new File(PathHelper.combine(expectedPath, test + ".stab.cs")); Assert.assertTrue("Expected file not found: " + expectedFile, expectedFile.exists()); fileReader = new InputStreamReader(new FileInputStream((expectedFile)), Charset.forName("UTF-8")); var reference = readToEnd(fileReader); var genReader = new BufferedReader(new StringReader(result)); var refReader = new BufferedReader(new StringReader(reference)); for (;;) { var genLine = genReader.readLine(); var refLine = refReader.readLine(); if (genLine == null && refLine == null) { break; } Assert.assertEquals(refLine, genLine); } }
private void doTest(String test) { var userDir = System.getProperty("user.dir"); var sourcePath = PathHelper.combine(PathHelper.combine(userDir, "tests/resources/ParseExpressionTest/sources"), test + ".txt"); var fileReader = new InputStreamReader(new FileInputStream((sourcePath)), Charset.forName("UTF-8")); var code = readToEnd(fileReader); text = code.toCharArray(); var parser = new Parser(); var scanner = new SourceCodeScanner(new CodeErrorManager(), text); var expression = parser.parseExpression(scanner); var result = expressionToString(expression); var generatedPath = PathHelper.combine(userDir, "tests/resources/ParseExpressionTest/generated"); var generatedDir = new File(generatedPath); if (!generatedDir.exists()) { generatedDir.mkdir(); } var fileWriter = new FileWriter(PathHelper.combine(generatedPath, test + ".txt")); fileWriter.write(result); fileWriter.close(); var expectedPath = PathHelper.combine(userDir, "tests/resources/ParseExpressionTest/expected"); var expectedFile = new File(PathHelper.combine(expectedPath, test + ".txt")); Assert.assertTrue("Expected file not found: " + expectedFile, expectedFile.exists()); fileReader = new InputStreamReader(new FileInputStream((expectedFile)), Charset.forName("UTF-8")); var reference = readToEnd(fileReader); var genReader = new BufferedReader(new StringReader(result)); var refReader = new BufferedReader(new StringReader(reference)); for (;;) { var genLine = genReader.readLine(); var refLine = refReader.readLine(); if (genLine == null && refLine == null) { break; } Assert.assertEquals(refLine, genLine); } }