@Test
public void testHashEquals() throws Exception {
long origTxn = ThreadLocalRandom.current().nextLong(1, 10000000000L);
int bucketId = ThreadLocalRandom.current().nextInt(1, 512);
long rowId = ThreadLocalRandom.current().nextLong(1, 10000000000L);
long currTxn = origTxn + ThreadLocalRandom.current().nextLong(0, 10000000000L);
RecordIdentifier left = new RecordIdentifier(origTxn, bucketId, rowId);
RecordIdentifier right = new RecordIdentifier(origTxn, bucketId, rowId);
OrcRawRecordMerger.ReaderKey rkLeft = new OrcRawRecordMerger.ReaderKey(origTxn, bucketId, rowId, currTxn);
OrcRawRecordMerger.ReaderKey rkRight = new OrcRawRecordMerger.ReaderKey(origTxn, bucketId, rowId, currTxn);
assertEquals("RecordIdentifier.equals", left, right);
assertEquals("RecordIdentifier.hashCode", left.hashCode(), right.hashCode());
assertEquals("ReaderKey", rkLeft, rkLeft);
assertEquals("ReaderKey.hashCode", rkLeft.hashCode(), rkRight.hashCode());
assertNotEquals("RecordIdentifier <> ReaderKey", left, rkRight);
}
}