### Question:
ShowIfWidget implements Renderable { public void render(Object bound, Respond respond) { final Object o = evaluator.evaluate(expression, bound); if ((Boolean) o) widgetChain.render(bound, respond); } ShowIfWidget(WidgetChain widgetChain, String expression, Evaluator evaluator); void render(Object bound, Respond respond); Set<T> collect(Class<T> clazz);  }### Answer:
@Test(dataProvider = EXPRESSIONS_AND_EVALS) public final void hideChildren(String expression, boolean should) { final boolean[] run = new boolean[1]; WidgetChain mockChain = new ProceedingWidgetChain() { @Override public void render(Object bound, Respond respond) { run[0] = true; } }; new ShowIfWidget(mockChain, expression, new MvelEvaluator()) .render(new HashMap<String, Object>() {{ put("visible", true); }}, RespondersForTesting.newRespond()); assert run[0] == should : "ShowIf did not do as it should " + should; }