### Question:
TextUI { public void updateUntilFinished() throws InterruptedException { while (!demuxer.isSuiteFinished()) { Event<SuiteListener> message = eventStream.take(); updateWithMessage(message); } } TextUI(MessageReceiver<Event<SuiteListener>> eventStream, Printer printer); void setPassingTestsVisible(boolean passingTestsVisible); void setProgressBarVisible(boolean progressBarVisible); boolean hasFailures(); void update(); void updateUntilFinished();  }### Answer:
@Test public void can_update_blockingly() throws InterruptedException { Thread t = new Thread(() -> { SuiteMother.emptySuite(listener); }); t.start(); ui.updateUntilFinished(); assertInOutput(SUMMARY_LINE); }