### Question:
OpenShiftProviderConfigPresenter extends AbstractHasContentChangeHandlers implements ProviderConfigurationForm { public void isValid(final Callback<Boolean> callback) { boolean isValid = !isEmpty(view.getProviderName()) && !isEmpty(view.getMasterURL()) && !isEmpty(view.getUsername()) && !isEmpty(view.getPassword()); callback.callback(isValid); } @Inject  OpenShiftProviderConfigPresenter(final View view); @PostConstruct void init(); View getView(); @Override ProviderConfiguration buildProviderConfiguration(); @Override void clear(); @Override void load(final Provider provider); String getProviderName(); String getMasterURL(); String getUsername(); String getPassword(); void isValid(final Callback<Boolean> callback); @Override String getWizardTitle(); @Override void disable();  }### Answer:
@Test public void testIsValid() { when(view.getProviderName()).thenReturn(EMPTY_STRING); when(view.getMasterURL()).thenReturn(EMPTY_STRING); when(view.getUsername()).thenReturn(EMPTY_STRING); when(view.getPassword()).thenReturn(EMPTY_STRING); presenter.isValid(Assert::assertFalse); when(view.getProviderName()).thenReturn(PROVIDER_NAME_VALUE); presenter.isValid(Assert::assertFalse); when(view.getMasterURL()).thenReturn(MASTER_URL_VALUE); presenter.isValid(Assert::assertFalse); when(view.getUsername()).thenReturn(USER_VALUE); presenter.isValid(Assert::assertFalse); when(view.getPassword()).thenReturn(PASSWORD_VALUE); presenter.isValid(Assert::assertTrue); }