### Question:
FxProgressModel { public void setProgress(HasProgress progress) { this.progress = progress; progress.onProgress(this::updateProgress); updateProgress(); } FxProgressModel();  FxProgressModel(HasProgress progress); void setMinimumUpdateDelay(Long delay); DoubleProperty progressProperty(); void setProgress(HasProgress progress);  }### Answer:
@Test public void setsFromProgress() { model.setProgress(progress); assertProgress(0.0); }
@Test public void updatesOnProgress() { model.setProgress(progress); progress.setProgress(0.5); assertProgress(0.5); }
@Test public void updatesFromCurrentProgress() { model.setProgress(progress); progress.setProgress(1.0); ProgressStub progress2 = new ProgressStub(); progress2.setProgress(0.5); model.setProgress(progress2); progress.setProgress(0.0); assertProgress(0.5); }