public static boolean equalObject(String typeName, int ordinal, Object testObject) { if(testObject instanceof HollowRecord) { HollowRecord testRec = (HollowRecord)testObject; if(testRec.getOrdinal() == ordinal) { String otherType = testRec.getSchema().getName(); return otherType.equals(typeName); } } return false; } }
@Override public String stringify(HollowRecord record) { return stringify(record.getTypeDataAccess().getDataAccess(), record.getSchema().getName(), record.getOrdinal()); }
@Override public String stringify(HollowRecord record) { return stringify(record.getTypeDataAccess().getDataAccess(), record.getSchema().getName(), record.getOrdinal()); }
@Override public void stringify(Writer writer, HollowRecord record) throws IOException { stringify(writer, record.getTypeDataAccess().getDataAccess(), record.getSchema().getName(), record.getOrdinal()); }
@Override public void stringify(Writer writer, HollowRecord record) throws IOException { stringify(writer, record.getTypeDataAccess().getDataAccess(), record.getSchema().getName(), record.getOrdinal()); }
@Test public void testCompletelyMissingMap() throws IOException { roundTripSnapshot(); readStateEngine.setMissingDataHandler(new FakeMissingDataHandler()); GenericHollowMap map = (GenericHollowMap) GenericHollowRecordHelper.instantiate(readStateEngine, "MissingMap", 0); Assert.assertEquals(2, map.size()); Assert.assertTrue(map.containsKey(new FakeMissingHollowRecord(new HollowObjectMissingDataAccess(readStateEngine, "MissingObject"), 2))); Assert.assertEquals(300, map.get(new FakeMissingHollowRecord(new HollowObjectMissingDataAccess(readStateEngine, "MissingObject"), 3)).getOrdinal()); Assert.assertFalse(map.containsKey(new FakeMissingHollowRecord(new HollowObjectMissingDataAccess(readStateEngine, "MissingObject"), 0))); Assert.assertNull(map.get(new FakeMissingHollowRecord(new HollowObjectMissingDataAccess(readStateEngine, "MissingObject"), 4))); Iterator<Map.Entry<HollowRecord, HollowRecord>> rec = map.entrySet().iterator(); Assert.assertTrue(rec.hasNext()); Map.Entry<HollowRecord, HollowRecord> next = rec.next(); Assert.assertEquals(2, next.getKey().getOrdinal()); Assert.assertEquals("MissingObject", next.getKey().getSchema().getName()); Assert.assertEquals(200, next.getValue().getOrdinal()); Assert.assertEquals("MissingObject", next.getValue().getSchema().getName()); Assert.assertTrue(rec.hasNext()); next = rec.next(); Assert.assertEquals(3, next.getKey().getOrdinal()); Assert.assertEquals("MissingObject", next.getKey().getSchema().getName()); Assert.assertEquals(300, next.getValue().getOrdinal()); Assert.assertEquals("MissingObject", next.getValue().getSchema().getName()); Assert.assertEquals(300, map.get(next.getKey()).getOrdinal()); Assert.assertEquals("MissingObject", map.get(next.getKey()).getSchema().getName()); Assert.assertFalse(rec.hasNext()); }
@Test public void testCompletelyMissingSet() throws IOException { roundTripSnapshot(); readStateEngine.setMissingDataHandler(new FakeMissingDataHandler()); GenericHollowSet set = (GenericHollowSet) GenericHollowRecordHelper.instantiate(readStateEngine, "MissingSet", 0); Assert.assertEquals(2, set.size()); Assert.assertTrue(set.contains(new FakeMissingHollowRecord(new HollowObjectMissingDataAccess(readStateEngine, "MissingObject"), 2))); Assert.assertFalse(set.contains(new FakeMissingHollowRecord(new HollowObjectMissingDataAccess(readStateEngine, "MissingObject"), 0))); Iterator<HollowRecord> rec = set.iterator(); Assert.assertTrue(rec.hasNext()); HollowRecord next = rec.next(); Assert.assertEquals(2, next.getOrdinal()); Assert.assertEquals("MissingObject", next.getSchema().getName()); Assert.assertTrue(rec.hasNext()); next = rec.next(); Assert.assertEquals(3, next.getOrdinal()); Assert.assertEquals("MissingObject", next.getSchema().getName()); Assert.assertFalse(rec.hasNext()); }
@Test public void testCompletelyMissingList() throws IOException { roundTripSnapshot(); readStateEngine.setMissingDataHandler(new FakeMissingDataHandler()); GenericHollowList list = (GenericHollowList) GenericHollowRecordHelper.instantiate(readStateEngine, "MissingList", 0); Assert.assertEquals(2, list.size()); Assert.assertTrue(list.contains(new FakeMissingHollowRecord(new HollowObjectMissingDataAccess(readStateEngine, "MissingObject"), 2))); Assert.assertFalse(list.contains(new FakeMissingHollowRecord(new HollowObjectMissingDataAccess(readStateEngine, "MissingObject"), 0))); Iterator<HollowRecord> rec = list.iterator(); Assert.assertTrue(rec.hasNext()); HollowRecord next = rec.next(); Assert.assertEquals(2, next.getOrdinal()); Assert.assertEquals("MissingObject", next.getSchema().getName()); Assert.assertTrue(rec.hasNext()); next = rec.next(); Assert.assertEquals(3, next.getOrdinal()); Assert.assertEquals("MissingObject", next.getSchema().getName()); Assert.assertFalse(rec.hasNext()); }