//JAVA TO C# CONVERTER TODO TASK: Most Java annotations will not have direct .NET equivalent attributes: //ORIGINAL LINE: @Test public void shouldPruneAndOpenExistingDatabase() throws Exception //JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: public virtual void ShouldPruneAndOpenExistingDatabase() { // given foreach (StoreType typeToTest in RelevantRecordStores()) { // given all the stores with some records in them using (PageCache pageCache = Storage.pageCache()) { Storage.directory().cleanup(); using (BatchingNeoStores stores = BatchingNeoStores.BatchingNeoStoresWithExternalPageCache(Storage.fileSystem(), pageCache, PageCacheTracer.NULL, Storage.directory().absolutePath(), LATEST_RECORD_FORMATS, DEFAULT, NullLogService.Instance, EMPTY, Config.defaults())) { stores.CreateNew(); foreach (StoreType type in RelevantRecordStores()) { CreateRecordIn(stores.NeoStores.getRecordStore(type)); } } // when opening and pruning all except the one we test using (BatchingNeoStores stores = BatchingNeoStores.BatchingNeoStoresWithExternalPageCache(Storage.fileSystem(), pageCache, PageCacheTracer.NULL, Storage.directory().absolutePath(), LATEST_RECORD_FORMATS, DEFAULT, NullLogService.Instance, EMPTY, Config.defaults())) { stores.PruneAndOpenExistingStore(type => type == typeToTest, Predicates.alwaysFalse()); // then only the one we kept should have data in it foreach (StoreType type in RelevantRecordStores()) { RecordStore <AbstractBaseRecord> store = stores.NeoStores.getRecordStore(type); if (type == typeToTest) { assertThat(store.ToString(), (int)store.HighId, greaterThan(store.NumberOfReservedLowIds)); } else { assertEquals(store.ToString(), store.NumberOfReservedLowIds, store.HighId); } } } } } }