@Test
 public void shouldCallAsConsumer() {
   final ScriptEngineLambda lambda = new ScriptEngineLambda("nashorn", "a.setData('test')");
   final Junk junk = new Junk();
   lambda.accept(junk);
   assertEquals("test", junk.getData());
 }
  @Test
  public void shouldCallAsBiConsumer() {
    final ScriptEngineLambda lambda =
        new ScriptEngineLambda("nashorn", "a.setData('testa');b.setData('testb')");
    final Junk junkA = new Junk();
    final Junk junkB = new Junk();
    lambda.accept(junkA, junkB);

    assertEquals("testa", junkA.getData());
    assertEquals("testb", junkB.getData());
  }
 @Test
 public void shouldCallAsSupplier() {
   final ScriptEngineLambda lambda = new ScriptEngineLambda("nashorn", "11");
   assertEquals(11, lambda.get());
 }
 @Test
 public void shouldCallAsPredicate() {
   final ScriptEngineLambda lambda = new ScriptEngineLambda("nashorn", "a > 10");
   assertThat(lambda.test(100), is(true));
 }
 @Test
 public void shouldCallAsFunction() {
   final ScriptEngineLambda lambda = new ScriptEngineLambda("nashorn", "1+a");
   assertEquals(11.0, lambda.apply(10));
 }