### Question:
CompactionManager { void addBlobStore(BlobStore store) { if (compactionExecutor == null) { stores.add(store); } else { compactionExecutor.controlCompactionForBlobStore(store, false); stores.add(store); } } CompactionManager(String mountPath, StoreConfig storeConfig, Collection<BlobStore> stores,
      StorageManagerMetrics metrics, Time time);   }### Answer:
@Test public void testAddBlobStore() { StoreMetrics storeMetrics = new StoreMetrics(new MetricRegistry()); BlobStore newAddedStore = new MockBlobStore(config, storeMetrics, time, null); compactionManager.enable(); compactionManager.addBlobStore(newAddedStore); assertTrue("New store is not found in compaction manager", compactionManager.getAllStores().contains(newAddedStore)); compactionManager.disable(); compactionManager.awaitTermination(); properties.setProperty("store.compaction.triggers", ALL_COMPACTION_TRIGGERS); config = new StoreConfig(new VerifiableProperties(properties)); StorageManagerMetrics metrics = new StorageManagerMetrics(new MetricRegistry()); compactionManager = new CompactionManager(MOUNT_PATH, config, Collections.singleton(blobStore), metrics, time); compactionManager.enable(); compactionManager.addBlobStore(newAddedStore); assertTrue("New store is not found in compaction manager", compactionManager.getAllStores().contains(newAddedStore)); assertFalse("BlobStore should not be scheduled for the new added store before it is started", compactionManager.scheduleNextForCompaction(newAddedStore)); compactionManager.disable(); compactionManager.awaitTermination(); }