EncodedBoundedWindow extends BoundedWindow { public static EncodedBoundedWindow forEncoding(ByteString encodedWindow) { return new AutoValue_EncodedBoundedWindow(encodedWindow); }  static EncodedBoundedWindow forEncoding(ByteString encodedWindow); abstract ByteString getEncodedWindow(); @Override Instant maxTimestamp();  }
@Test public void testCoder() throws Exception { CoderProperties.coderSerializable(Coder.INSTANCE); CoderProperties.coderConsistentWithEquals( Coder.INSTANCE, EncodedBoundedWindow.forEncoding(ByteString.copyFrom(new byte[] {0x01, 0x02, 0x03})), EncodedBoundedWindow.forEncoding(ByteString.copyFrom(new byte[] {0x01, 0x02, 0x03}))); CoderProperties.coderDecodeEncodeEqual( Coder.INSTANCE, EncodedBoundedWindow.forEncoding(ByteString.copyFrom(new byte[] {0x01, 0x02, 0x03}))); CoderProperties.coderDeterministic( Coder.INSTANCE, EncodedBoundedWindow.forEncoding(ByteString.copyFrom(new byte[] {0x01, 0x02, 0x03})), EncodedBoundedWindow.forEncoding(ByteString.copyFrom(new byte[] {0x01, 0x02, 0x03}))); CoderProperties.structuralValueDecodeEncodeEqual( Coder.INSTANCE, EncodedBoundedWindow.forEncoding(ByteString.copyFrom(new byte[] {0x01, 0x02, 0x03}))); }