@Override public VarLongCoder fromCloudObject(CloudObject object) { return VarLongCoder.of(); }
@Override public Coder<Long> getOutputCoder() { return VarLongCoder.of(); }
@Override public void verifyDeterministic() { VarIntCoder.of().verifyDeterministic(); VarLongCoder.of().verifyDeterministic(); }
@Override public void encode(IsmShard value, OutputStream outStream) throws CoderException, IOException { checkState( value.getIndexOffset() >= 0, "%s attempting to be written without index offset.", value); VarIntCoder.of().encode(value.getId(), outStream); VarLongCoder.of().encode(value.getBlockOffset(), outStream); VarLongCoder.of().encode(value.getIndexOffset(), outStream); }
@Override public TestType decode(InputStream inStream, Context context) throws IOException { VarIntCoder.of().decode(inStream); TestType result = jaxbCoder.decode(inStream); VarLongCoder.of().decode(inStream, context); return result; }
@Override public void encode(TestType value, OutputStream outStream, Context context) throws IOException { VarIntCoder.of().encode(3, outStream); jaxbCoder.encode(value, outStream); VarLongCoder.of().encode(22L, outStream, context); }
@Test public void registerCoder() throws IOException { Coder<?> coder = KvCoder.of(StringUtf8Coder.of(), IterableCoder.of(SetCoder.of(ByteArrayCoder.of()))); String id = components.registerCoder(coder); assertThat(components.registerCoder(coder), equalTo(id)); assertThat(id, not(isEmptyOrNullString())); VarLongCoder otherCoder = VarLongCoder.of(); assertThat(components.registerCoder(otherCoder), not(equalTo(id))); components.toComponents().getCodersOrThrow(id); components.toComponents().getCodersOrThrow(components.registerCoder(otherCoder)); }
@Test @Category(ValidatesRunner.class) public void testEmpty() { PCollection<Long> vals = pipeline.apply(Create.empty(VarLongCoder.of())); PAssert.that(vals).empty(); pipeline.run(); }
@Test(expected = NullPointerException.class) public void testJoinRightCollectionNull() { p.enableAbandonedNodeEnforcement(false); Join.leftOuterJoin( p.apply( Create.of(leftListOfKv).withCoder(KvCoder.of(StringUtf8Coder.of(), VarLongCoder.of()))), null, ""); }
@Test(expected = NullPointerException.class) public void testJoinRightCollectionNull() { p.enableAbandonedNodeEnforcement(false); Join.fullOuterJoin( p.apply( Create.of(leftListOfKv).withCoder(KvCoder.of(StringUtf8Coder.of(), VarLongCoder.of()))), null, -1L, -1L); }
@Test(expected = NullPointerException.class) public void testJoinRightCollectionNull() { p.enableAbandonedNodeEnforcement(false); Join.innerJoin( p.apply( Create.of(leftListOfKv).withCoder(KvCoder.of(StringUtf8Coder.of(), VarLongCoder.of()))), null); } }
@Test(expected = NullPointerException.class) public void testJoinRightCollectionNull() { p.enableAbandonedNodeEnforcement(false); Join.rightOuterJoin( p.apply( Create.of(leftListOfKv).withCoder(KvCoder.of(StringUtf8Coder.of(), VarLongCoder.of()))), null, -1L); }
@Test @Category(NeedsRunner.class) public void testGloballyEmptyCollection() { PCollection<Long> emptyInput = p.apply(Create.empty(VarLongCoder.of())); PCollection<Long> output = emptyInput.apply(Latest.globally()); PAssert.that(output).containsInAnyOrder((Long) null); p.run(); }
@Test public void kvCoderComponentsToConstructor() throws IOException { KvCoder<byte[], Iterable<Long>> javaCoder = KvCoder.of(ByteArrayCoder.of(), IterableCoder.of(LengthPrefixCoder.of(VarLongCoder.of()))); MessageWithComponents coderAndComponents = CoderTranslation.toProto(javaCoder); KvCoderComponents kvCoderComponents = ModelCoders.getKvCoderComponents(coderAndComponents.getCoder()); Coder kvCoder = ModelCoders.kvCoder(kvCoderComponents.keyCoderId(), kvCoderComponents.valueCoderId()); assertThat(kvCoder, equalTo(coderAndComponents.getCoder())); }
@Test(expected = NullPointerException.class) public void testJoinNullValueIsNull() { p.enableAbandonedNodeEnforcement(false); Join.leftOuterJoin( p.apply("CreateLeft", Create.empty(KvCoder.of(StringUtf8Coder.of(), VarLongCoder.of()))), p.apply( "CreateRight", Create.empty(KvCoder.of(StringUtf8Coder.of(), StringUtf8Coder.of()))), null); } }
@Test(expected = NullPointerException.class) public void testJoinNullValueIsNull() { p.enableAbandonedNodeEnforcement(false); Join.rightOuterJoin( p.apply("CreateLeft", Create.empty(KvCoder.of(StringUtf8Coder.of(), VarLongCoder.of()))), p.apply( "CreateRight", Create.empty(KvCoder.of(StringUtf8Coder.of(), StringUtf8Coder.of()))), null); } }
@Test(expected = NullPointerException.class) public void testJoinLeftNullValueIsNull() { p.enableAbandonedNodeEnforcement(false); Join.fullOuterJoin( p.apply("CreateLeft", Create.empty(KvCoder.of(StringUtf8Coder.of(), VarLongCoder.of()))), p.apply( "CreateRight", Create.empty(KvCoder.of(StringUtf8Coder.of(), StringUtf8Coder.of()))), null, ""); }
@Test(expected = NullPointerException.class) public void testJoinRightNullValueIsNull() { p.enableAbandonedNodeEnforcement(false); Join.fullOuterJoin( p.apply("CreateLeft", Create.empty(KvCoder.of(StringUtf8Coder.of(), VarLongCoder.of()))), p.apply( "CreateRight", Create.empty(KvCoder.of(StringUtf8Coder.of(), StringUtf8Coder.of()))), -1L, null); } }
@Test @Category(NeedsRunner.class) public void testReadFromSourceFn() { BoundedSource<Long> source = CountingSource.upTo(10L); PCollection<BoundedSource<Long>> sourcePC = p.apply(Create.of(source).withCoder(new JavaReadViaImpulse.BoundedSourceCoder<>())); PCollection<Long> elems = sourcePC.apply(ParDo.of(new ReadFromBoundedSourceFn<>())).setCoder(VarLongCoder.of()); PAssert.that(elems).containsInAnyOrder(0L, 9L, 8L, 1L, 2L, 7L, 6L, 3L, 4L, 5L); p.run(); }