@Test
public void shouldTruncateTheFileIfOverwriting() throws Exception
{
IdContainer.createEmptyIdFile( fs, file, 30, false );
IdContainer idContainer = new IdContainer( fs, file, 5, false );
idContainer.init();
for ( int i = 0; i < 17; i++ )
{
idContainer.freeId( i );
}
idContainer.close( 30 );
assertThat( (int) fs.getFileSize( file ), greaterThan( IdContainer.HEADER_SIZE ) );
IdContainer.createEmptyIdFile( fs, file, 30, false );
assertEquals( IdContainer.HEADER_SIZE, (int) fs.getFileSize( file ) );
assertEquals( 30, IdContainer.readHighId( fs, file ) );
idContainer = new IdContainer( fs, file, 5, false );
idContainer.init();
assertEquals( 30, idContainer.getInitialHighId() );
idContainer.close( 30 );
}