@Test
public void shouldReportOwningNodeRecordNotPointingBack() throws Exception
{
long nodeId = 12l;
Collection<DynamicRecord> validLabelRecords = new ArrayList<>();
allocateFromNumbers( validLabelRecords, new long[] {nodeId}, iterator( inUse( new DynamicRecord( 0 ) ) ),
RECORD_ALLOCATOR );
Collection<DynamicRecord> fakePointedToRecords = new ArrayList<>();
allocateFromNumbers( fakePointedToRecords, new long[] {nodeId}, iterator( inUse( new DynamicRecord( 1 ) ) ), RECORD_ALLOCATOR );
NodeRecord nodeRecord = inUse( new NodeRecord( nodeId, false, -1, -1 ) );
nodeRecord.setLabelField( dynamicPointer( fakePointedToRecords ), fakePointedToRecords );
add( nodeRecord );
DynamicLabelConsistencyReport report = check( single( validLabelRecords.iterator() ) );
verify( report ).orphanDynamicLabelRecordDueToInvalidOwner( nodeRecord );
}
}