### Question:
FilterExpression { public Boolean execute(Row columns, String expression) { Bindings bindings = ScriptingEnvironmentProvider.create(this.manager, this.scriptEngineBindings, columns); try { this.expressionListener.accept("Executing: " + expression); Object result = this.engine.eval(expression, bindings); this.expressionListener.accept("Got result: " + result); if (!(result instanceof Boolean)) { return Boolean.FALSE; } else { return (Boolean) result; } } catch (ScriptException ex) { throw new IllegalStateException(ex.getMessage(), ex); } } FilterExpression();  FilterExpression(Consumer<String> expressionListener, Map<String, Object> scriptEngineBindings); Boolean execute(Row columns, String expression);  }### Answer:
@Test public void accept() { Boolean result = this.fe.execute(new Row(), "true"); assertTrue(result); }
@Test public void drop() { Boolean result = this.fe.execute(new Row(), "false"); assertFalse(result); }
@Test public void wrongReturnTypeIsFalse() { Boolean result = this.fe.execute(new Row(), "'hey'"); assertFalse(result); }