@Test public void testCombiner() throws IOException { addRecord(shard1, 1, "C1", "C2", "C3"); addRecord(shard1, 2, "C2", "C3", "C4"); addRecord(shard1, 3, "C1", "C2", "C3"); addRecord(shard2, 4, "C2", "C3", "C4"); addRecord(shard2, 5, "C1", "C4", "C5"); addRecord(shard2, 6, "C1", "C2", "C3"); addRecord(shard3, 7, "C4", "C5", "C6"); HollowCombiner combiner = new HollowCombiner(roundTrip(shard1), roundTrip(shard2), roundTrip(shard3)); combiner.combine(); HollowReadStateEngine combinedResult = roundTrip(combiner.getCombinedStateEngine()); Assert.assertEquals(6, combinedResult.getTypeState("A").maxOrdinal()); Assert.assertEquals(3, combinedResult.getTypeState("B").maxOrdinal()); Assert.assertEquals(5, combinedResult.getTypeState("C").maxOrdinal()); HollowSetTypeReadState bTypeState = (HollowSetTypeReadState)combinedResult.getTypeState("B"); Assert.assertTrue(setOrderingExists(bTypeState, "C1", "C2", "C3")); Assert.assertTrue(setOrderingExists(bTypeState, "C2", "C3", "C4")); Assert.assertTrue(setOrderingExists(bTypeState, "C1", "C4", "C5")); Assert.assertTrue(setOrderingExists(bTypeState, "C4", "C5", "C6")); }