* @throws RBTException
*
*/
public void testChangeHeader() throws HeapException, RBTException {
/* new heap header creation and write with check */
final HeapHeader heapHeader1 = appendHeaderInEmptyFile();
/* then read header */
heapElementManager.startService();
heapElementManager.openTransaction();
final HeapHeader heapHeader2 = getHeapHeaderAndCheckPosition(heapHeader1);
/* create heap record */
final HeapRecord heapRecord = new HeapRecord(heapElementManager,
/**/HeapHeader.HEAP_HEADER_SIZE/* position in file */);
// heapHeader2.setFreeRootNodeFilePosition(new HeapFreeNode(
// heapElementManager, heapRecord).getPositionInFile());
heapHeader2.setFreeRootNodeFilePosition(heapRecord.getPositionInFile());
// heapHeader2.setIdRootNodeFilePosition(new HeapIdNode(
// heapElementManager, heapRecord).getPositionInFile());
heapHeader2.setIdRootNodeFilePosition(heapRecord.getPositionInFile());
/* write modifications */
heapElementManager.closeTransaction();
/* read the last modification */
heapElementManager.openTransaction();
final HeapHeader heapHeader3 = getHeapHeaderAndCheckPosition(heapHeader2);
/* check modifications */
assertEquals("FreeRootNodeFilePosition must be "
+ HeapHeader.HEAP_HEADER_SIZE, HeapHeader.HEAP_HEADER_SIZE,
heapHeader3.getFreeRootNodeFilePosition());
assertEquals("IdRootNodeFilePosition must be "
+ HeapHeader.HEAP_HEADER_SIZE, HeapHeader.HEAP_HEADER_SIZE,
heapHeader3.getIdRootNodeFilePosition());
heapElementManager.closeTransaction();
heapElementManager.stopService();
}