@Test public void testDeclareVariableWithIntegerTypeInference() { String declaration = ContextBuilder.create() .declareVariable("n") .initializeWith(10) .toJavaString(); assertEquals("failed to generate variable declaration using a literal initialization and type inference", "Integer n = 10;", declaration); }
public static ContextBuilder create(Context context) { return new ContextBuilder(context); }
@Test public void testInvokeUsingStandardizedLoadVariableReference() { Context context = ContextBuilder.create() .addVariable("s", String.class) .getContext(); String s = StatementBuilder.create(context) .load(Variable.get("s")) .invoke("toUpperCase").toJavaString(); assertEquals("Failed using load() passing a variable reference", "s.toUpperCase()", s); }
public VariableDeclarationInitializer<ContextBuilder> declareVariable(String name, Class<?> type) { return declareVariable(Variable.create(name, type)); }
@Test public void testInvokeUsingStandardizedLoadVariableInstance() { Context context = ContextBuilder.create() .addVariable("s", String.class) .getContext(); Variable v = Variable.create("s", String.class); String s = StatementBuilder.create(context) .load(v) .invoke("toUpperCase").toJavaString(); assertEquals("Failed using load() passing a variable instance", "s.toUpperCase()", s); }
public VariableDeclarationInitializer<ContextBuilder> declareVariable(String name) { return declareVariable(Variable.create(name, (Class<?>) null)); }
@Test public void testAddVariableWithExactTypeProvided() { Context ctx = ContextBuilder.create().addVariable("n", Integer.class, 10).getContext(); VariableReference n = ctx.getVariable("n"); assertEquals("Wrong variable name", "n", n.getName()); Assert.assertEquals("Wrong variable type", MetaClassFactory.get(Integer.class), n.getType()); Assert.assertEquals("Wrong variable value", LiteralFactory.getLiteral(10), n.getValue()); }
@Test public void testDeclareVariableWithStringTypeInference() { String declaration = ContextBuilder.create() .declareVariable("n") .initializeWith("10") .toJavaString(); assertEquals("failed to generate variable declaration using a literal initialization and type inference", "String n = \"10\";", declaration); }
public VariableDeclarationInitializer<ContextBuilder> declareVariable(String name, TypeLiteral<?> type) { return declareVariable(Variable.create(name, type)); }
public static ContextBuilder create(Context context) { return new ContextBuilder(context); }
@Test public void testAddVariableWithIntegerTypeInference() { Context ctx = ContextBuilder.create().addVariable("n", 10).getContext(); VariableReference n = ctx.getVariable("n"); assertEquals("Wrong variable name", "n", n.getName()); Assert.assertEquals("Wrong variable type", MetaClassFactory.get(Integer.class), n.getType()); Assert.assertEquals("Wrong variable value", LiteralFactory.getLiteral(10), n.getValue()); }
@Test public void testDeclareVariableWithImplicitTypeConversion() { String declaration = ContextBuilder.create() .declareVariable("n", Integer.class) .initializeWith("10") .toJavaString(); assertEquals("failed to generate variable declaration using a literal initialization and type conversion", "Integer n = 10;", declaration); }
public VariableDeclarationInitializer<ContextBuilder> declareVariable(String name) { return declareVariable(Variable.create(name, (Class<?>) null)); }
public static ContextBuilder create() { return new ContextBuilder(Context.create()); }
@Test public void testAddVariableWithImplicitTypeConversion() { Context ctx = ContextBuilder.create().addVariable("n", Integer.class, "10").getContext(); VariableReference n = ctx.getVariable("n"); assertEquals("Wrong variable name", "n", n.getName()); Assert.assertEquals("Wrong variable type", MetaClassFactory.get(Integer.class), n.getType()); Assert.assertEquals("Wrong variable value", LiteralFactory.getLiteral(10), n.getValue()); try { Stmt.create(ContextBuilder.create().addVariable("n", Integer.class, "abc").getContext()).toJavaString(); fail("Expected InvalidTypeException"); } catch (InvalidTypeException ive) { // expected assertTrue(ive.getCause() instanceof NumberFormatException); } }
@Test public void testDeclareVariableWithExactTypeProvided() { String declaration = ContextBuilder.create() .declareVariable("n", Integer.class) .initializeWith(10) .toJavaString(); assertEquals("failed to generate variable declaration using a literal initialization", "Integer n = 10;", declaration); }
public VariableDeclarationInitializer<ContextBuilder> declareVariable(String name, Class<?> type) { return declareVariable(Variable.create(name, type)); }
public static ContextBuilder create() { return new ContextBuilder(Context.create()); }
@Test public void testAddVariableWithStringTypeInference() { Context ctx = ContextBuilder.create().addVariable("n", "10").getContext(); VariableReference n = ctx.getVariable("n"); assertEquals("Wrong variable name", "n", n.getName()); Assert.assertEquals("Wrong variable type", MetaClassFactory.get(String.class), n.getType()); Assert.assertEquals("Wrong variable value", LiteralFactory.getLiteral("10"), n.getValue()); }
@Test public void testDeclareVariableWithObjectInitialization() { String declaration = ContextBuilder.create() .declareVariable("str", String.class) .initializeWith(ObjectBuilder.newInstanceOf(String.class)) .toJavaString(); assertEquals("failed to generate variable declaration using an objectbuilder initialization", "String str = new String();", declaration); }