### Question:
ContactDialogViewModel implements ViewModel { public ReadOnlyBooleanProperty validProperty() { return valid; }  void initialize(); void okAction(); void previousAction(); void nextAction(); IntegerProperty dialogPageProperty(); ObservableBooleanValue okButtonDisabledProperty(); ObservableBooleanValue okButtonVisibleProperty(); ObservableBooleanValue nextButtonDisabledProperty(); ObservableBooleanValue nextButtonVisibleProperty(); ObservableBooleanValue previousButtonVisibleProperty(); ObservableBooleanValue previousButtonDisabledProperty(); ReadOnlyBooleanProperty validProperty(); StringProperty titleTextProperty();  }### Answer:
@Test public void testValid() { addressFormValid.set(true); contactFormValid.set(true); assertThat(viewModel.validProperty()).isTrue(); addressFormValid.set(false); assertThat(viewModel.validProperty()).isFalse(); addressFormValid.set(true); assertThat(viewModel.validProperty()).isTrue(); contactFormValid.set(false); assertThat(viewModel.validProperty()).isFalse(); contactFormValid.set(true); assertThat(viewModel.validProperty()).isTrue(); }