@Test public void shouldReadDefragCountUsingStaticMethod() throws Exception { EphemeralFileSystemAbstraction fs = fsr.get(); IdGeneratorImpl.createGenerator( fs, file, 0, false ); IdGeneratorImpl idGenerator = new IdGeneratorImpl( fs, file, 1, 10000, false, IdType.NODE, () -> 0L ); idGenerator.nextId(); long a = idGenerator.nextId(); idGenerator.nextId(); long b = idGenerator.nextId(); idGenerator.nextId(); idGenerator.freeId( a ); idGenerator.freeId( b ); long expectedDefragCount = idGenerator.getDefragCount(); idGenerator.close(); long actualDefragCount = IdGeneratorImpl.readDefragCount( fs, file ); assertEquals( 2, expectedDefragCount ); assertEquals( expectedDefragCount, actualDefragCount ); }
@Test public void delete() { IdGeneratorImpl.createGenerator( fs, idGeneratorFile(), 0, false ); IdGeneratorImpl idGenerator = new IdGeneratorImpl( fs, idGeneratorFile(), 10, 1000, false, IdType.NODE, () -> 0L ); long id = idGenerator.nextId(); idGenerator.nextId(); idGenerator.freeId( id ); idGenerator.close(); idGenerator.delete(); assertFalse( idGeneratorFile().exists() ); IdGeneratorImpl.createGenerator( fs, idGeneratorFile(), 0, false ); idGenerator = new IdGeneratorImpl( fs, idGeneratorFile(), 10, 1000, false, IdType.NODE, () -> 0L ); assertEquals( id, idGenerator.nextId() ); idGenerator.close(); }