@Test
public void testRVVSerialization() throws Exception {
DiskStoreID ownerId = new DiskStoreID(0, 0);
DiskStoreID id1 = new DiskStoreID(0, 1);
DiskStoreID id2 = new DiskStoreID(1, 0);
DiskRegionVersionVector rvv = new DiskRegionVersionVector(ownerId);
rvv.recordVersion(id1, 5);
rvv.recordVersion(id1, 6);
rvv.recordVersion(id1, 7);
rvv.recordVersion(id1, 9);
rvv.recordVersion(id1, 20);
rvv.recordVersion(id1, 11);
rvv.recordVersion(id1, 12);
rvv.recordGCVersion(id2, 5);
rvv.recordGCVersion(id1, 3);
assertTrue(rvv.sameAs(rvv.getCloneForTransmission()));
HeapDataOutputStream out = new HeapDataOutputStream(Version.CURRENT);
DataSerializer.writeObject(rvv.getCloneForTransmission(), out);
byte[] bytes = out.toByteArray();
DataInputStream dis = new DataInputStream(new ByteArrayInputStream(bytes));
DiskRegionVersionVector rvv2 = DataSerializer.readObject(dis);
assertTrue(rvv.sameAs(rvv2));
}