### Question:
ViewportAdapter implements GriffonPivotAdapter, org.apache.pivot.wtk.ViewportListener { public void viewChanged(org.apache.pivot.wtk.Viewport arg0, org.apache.pivot.wtk.Component arg1) { if (viewChanged != null) { viewChanged.call(arg0, arg1); } }  CallableWithArgs<Void> getScrollTopChanged(); CallableWithArgs<Void> getScrollLeftChanged(); CallableWithArgs<Void> getViewChanged(); void setScrollTopChanged(CallableWithArgs<Void> scrollTopChanged); void setScrollLeftChanged(CallableWithArgs<Void> scrollLeftChanged); void setViewChanged(CallableWithArgs<Void> viewChanged); void scrollTopChanged(org.apache.pivot.wtk.Viewport arg0, int arg1); void scrollLeftChanged(org.apache.pivot.wtk.Viewport arg0, int arg1); void viewChanged(org.apache.pivot.wtk.Viewport arg0, org.apache.pivot.wtk.Component arg1);  }### Answer:
@Test public void testViewChanged() { final boolean[] invoked = new boolean[1]; CallableWithArgs<Void> callable = new CallableWithArgs<Void>() { public Void call(Object... args) { invoked[0] = true; return null; } }; assertNull(adapter.getViewChanged()); adapter.viewChanged(null, null); assertFalse(invoked[0]); adapter.setViewChanged(callable); adapter.viewChanged(null, null); assertTrue(invoked[0]); }