### Question:
SyncDaemon implements Runnable { protected List<Syncer> getSyncers() { return syncers; } SyncDaemon(ObservableList<BoxSyncConfig> configs, SyncerFactory syncerFactory); @Override void run(); void stop(); void restart(BoxSyncConfig config);  }### Answer:
@Test(timeout = 1000L) public void loadsExistingConfigs() { boxSyncConfigs.add(config); startDaemon(); waitForSyncerStart(); assertTrue(daemon.getSyncers().get(0) instanceof FakeSyncer); assertSame(config, ((FakeSyncer)daemon.getSyncers().get(0)).config); }
@Test(timeout = 1000L) public void loadsNewConfigs() { startDaemon(); boxSyncConfigs.add(config); waitForSyncerStart(); FakeSyncer fakeSyncer = (FakeSyncer) daemon.getSyncers().get(0); assertSame(config, fakeSyncer.config); waitUntil(() -> fakeSyncer.started); }