### Question:
FxNetworkStatus implements Observer { public BooleanProperty onlineProperty() { return onlineProperty; } FxNetworkStatus(NetworkStatus status); BooleanProperty onlineProperty(); @Override void update(Observable o, Object arg);  }### Answer:
@Test public void statusIsChangedInPlatformThread() { NetworkStatus status = new NetworkStatus(); FxNetworkStatus fxStatus = new FxNetworkStatus(status); final List<Object> updates = new LinkedList<>(); fxStatus.onlineProperty().addListener((instance, oldValue, newValue) -> { if (!Platform.isFxApplicationThread()) { fail("update did not happen inside the application thread"); } updates.add(newValue); }); status.offline(); waitUntil(() -> !updates.isEmpty()); status.online(); waitUntil(() -> updates.size() == 2); }