private static void helpTestExpr(String input, String expect, boolean simplify) throws Exception { Parser p = new Parser(new Scanner(null, new StringReader(input))); Atom expr = p.parseExpression(); if (simplify) { expr = UnparseTests.stripUnnecessaryParenExprs(expr); } StringWriter sw = new StringWriter(); UnparseVisitor uv = new UnparseVisitor(sw); expr.accept(uv); uv.close(); String s = sw.toString(); s = UnparseTests.replace(s, "((( ", "("); s = UnparseTests.replace(s, " )))", ")"); Assert.assertEquals(expect, s); }
@Test public void testLiterals() throws Exception { Object[][] tests = new Object[][] { {new FloatingPointLiteral(null, "-0.0D"), "-0.0D"}, {new FloatingPointLiteral(null, "-0.0F"), "-0.0F"}, }; for (Object[] test : tests) { final Atom expr = (Atom) test[0]; final String expected = (String) test[1]; StringWriter sw = new StringWriter(); UnparseVisitor uv = new UnparseVisitor(sw); expr.accept(uv); uv.close(); Assert.assertEquals(expected, sw.toString()); } }
private void testInterfaceHelper(boolean interfaceMod) throws CompileException { Java.Modifiers maas = new Java.Modifiers(Mod.PUBLIC); if (interfaceMod) maas = maas.add(Mod.INTERFACE); Java.PackageMemberInterfaceDeclaration decl = new Java.PackageMemberInterfaceDeclaration( null, "foo", maas, "Foo", null, // optionalTypeParameters new Type[0] // extendedTypes ); StringWriter sw = new StringWriter(); UnparseVisitor uv = new UnparseVisitor(sw); decl.accept(uv); uv.close(); String s = sw.toString(); String correctString = "/**foo */ public interface Foo { }"; Assert.assertEquals(correctString, UnparseTests.normalizeWhitespace(s)); }