Assert.assertEquals(1, ((ClosureExpression) EvalTools.prepare("{ -> 1}").get()).get());
Assert.assertEquals(1, EvalTools.prepare("{1}()").get());
assertEquals("UPPER", ((ClosureExpression) EvalTools.prepare("{ it.toUpperCase() }").get()).get(model));
"it=it.substring(0,2)\n" +
"it.toUpperCase()\n" +
" }").get()).get(model));
Assert.assertEquals("up", model.get("it"));
assertEquals("UPPER", ((ClosureExpression) EvalTools.prepare("{s -> s.toUpperCase() }").get()).get(model));
assertEquals("UPPER", ((ClosureExpression) EvalTools.prepare("{String s -> s.toUpperCase() }").get()).get(model));
assertEquals("UPPER", ((ClosureExpression) EvalTools.prepare("{def s -> s.toUpperCase() }").get()).get(model));
model.put("s", "upper");
ClosureExpression closure = (ClosureExpression) EvalTools.prepare("{s.toUpperCase()}").get(model);
assertEquals("UPPER", closure.get());
model.put("s", "lower");
assertEquals("LOWER", closure.get());