### Question:
POMWizardPage implements WizardPage { @Override public void isComplete(final Callback<Boolean> callback) { validationService.call(new RemoteCallback<Boolean>() { @Override public void callback(final Boolean result) { callback.callback(Boolean.TRUE.equals(result)); } }).validate(pomEditor.getPom()); } POMWizardPage(); @Inject  POMWizardPage(final POMEditorPanel pomEditor,
                         final POMWizardPageView view,
                         final Event<WizardPageStatusChangeEvent> wizardPageStatusChangeEvent,
                         final Caller<ProjectScreenService> projectScreenService,
                         final Caller<ValidationService> validationService); void setPom(final POM pom); POM getPom(); @Override String getTitle(); @Override void isComplete(final Callback<Boolean> callback); @Override void initialise(); @Override void prepareView(); @Override Widget asWidget();  }### Answer:
@Test public void testIsComplete() { when( validationService.validate( any( POM.class ) ) ).thenReturn( true ); Callback<Boolean> callback = mock( Callback.class ); page.isComplete( callback ); verify( callback, times( 1 ) ).callback( true ); }
@Test public void testIsNotComplete() { when( validationService.validate( any( POM.class ) ) ).thenReturn( false ); Callback<Boolean> callback = mock( Callback.class ); page.isComplete( callback ); verify( callback, times( 1 ) ).callback( false ); }