@Test public void testLoopWithInvalidLabel() { try { StatementBuilder.create() .declareVariable("i", Integer.class, 0) .loadVariable("i") .if_(BooleanOperator.GreaterThan, 100) .append(Stmt.label("label")) .append(Stmt .for_(Stmt.loadVariable("i").assignValue(0), Bool.expr(Variable.get("i"), BooleanOperator.LessThan, 100), Stmt.loadVariable("i").assignValue(AssignmentOperator.PreIncrementAssign, 1)) .append(Stmt.continue_("undefinedlabel")) .finish()) .finish() .toJavaString(); fail("expected OutOfScopeException"); } catch (OutOfScopeException e) { // expected } } }
@Test public void testLoopWithContinue() { String s = StatementBuilder.create() .declareVariable("i", Integer.class, 0) .loadVariable("i") .if_(BooleanOperator.GreaterThan, 100) .append(Stmt .for_(Stmt.loadVariable("i").assignValue(0), Bool.expr(Variable.get("i"), BooleanOperator.LessThan, 100), Stmt.loadVariable("i").assignValue(AssignmentOperator.PreIncrementAssign, 1)) .append( Stmt.if_(Bool.expr(Variable.get("i"), BooleanOperator.Equals, 50)) .append(Stmt.continue_()) .finish()) .finish()) .finish() .toJavaString(); assertEquals("Failed to generate loop with continue", LOOP_WITH_CONTINUE, s); }
@Test public void testLoopWithContinueAndLabel() { String s = StatementBuilder.create() .declareVariable("i", Integer.class, 0) .loadVariable("i") .if_(BooleanOperator.GreaterThan, 100) .append(Stmt.label("label")) .append(Stmt .for_(Stmt.loadVariable("i").assignValue(0), Bool.expr(Variable.get("i"), BooleanOperator.LessThan, 100), Stmt.loadVariable("i").assignValue(AssignmentOperator.PreIncrementAssign, 1)) .append(Stmt .if_(Bool.expr(Variable.get("i"), BooleanOperator.Equals, 50)) .append(Stmt.continue_("label")) .finish()) .finish()) .finish() .toJavaString(); assertEquals("Failed to generate loop with continue and label", LOOP_WITH_CONTINUE_AND_LABEL, s); }
.append(Stmt.if_(Bool.or(loadVariable("key").invoke("equals", SerializationParts.ENCODED_TYPE), loadVariable("key").invoke("equals", SerializationParts.OBJECT_ID))) .append(Stmt.continue_()).finish()) .append(Stmt.if_(Bool.isNull(loadVariable("objVal"))).append(Stmt.continue_()).finish()) .append(switchBlock = Stmt.switch_(loadVariable("key"))) .finish());
.append(Stmt.if_(Bool.or(loadVariable("key").invoke("equals", SerializationParts.ENCODED_TYPE), loadVariable("key").invoke("equals", SerializationParts.OBJECT_ID))) .append(Stmt.continue_()).finish()) .append(Stmt.if_(Bool.isNull(loadVariable("objVal"))).append(Stmt.continue_()).finish()) .append(switchBlock = Stmt.switch_(loadVariable("key"))) .finish());