@Override public void writeFeature(RevFeature feature, DataOutput target) throws IOException { if (feature instanceof LazyRevFeature) { fastEncode((LazyRevFeature) feature, target); return;
@Override public void writeFeature(RevFeature feature, DataOutput target) throws IOException { if (feature instanceof LazyRevFeature) { fastEncode((LazyRevFeature) feature, target); return;
@Test public void testWriteFeatureFastPath() throws IOException { ByteArrayDataOutput target = ByteStreams.newDataOutput(); encoder.writeFeature(feature, target); byte[] encoded = target.toByteArray(); LazyRevFeature decoded = (LazyRevFeature) encoder.readFeature(null, ByteStreams.newDataInput(encoded)); target = ByteStreams.newDataOutput(); encoder.fastEncode(decoded, target); encoded = target.toByteArray(); LazyRevFeature decoded2 = (LazyRevFeature) encoder.readFeature(null, ByteStreams.newDataInput(encoded)); assertTrue(decoded instanceof LazyRevFeature); assertEquals(feature, decoded); assertTrue(decoded.equals(feature)); assertEquals(feature.getValues(), decoded.getValues()); assertEquals(feature, decoded2); assertEquals(feature.getValues(), decoded2.getValues()); }
@Test public void testWriteFeatureFastPath() throws IOException { ByteArrayDataOutput target = ByteStreams.newDataOutput(); encoder.writeFeature(feature, target); byte[] encoded = target.toByteArray(); LazyRevFeature decoded = (LazyRevFeature) encoder.readFeature(null, ByteStreams.newDataInput(encoded)); target = ByteStreams.newDataOutput(); encoder.fastEncode(decoded, target); encoded = target.toByteArray(); LazyRevFeature decoded2 = (LazyRevFeature) encoder.readFeature(null, ByteStreams.newDataInput(encoded)); assertTrue(decoded instanceof LazyRevFeature); assertEquals(feature, decoded); assertTrue(decoded.equals(feature)); assertEquals(feature.getValues(), decoded.getValues()); assertEquals(feature, decoded2); assertEquals(feature.getValues(), decoded2.getValues()); }