package protobuf.codec.json; import static junit.framework.Assert.assertEquals; import java.io.StringReader; import java.io.StringWriter; import org.junit.Before; import org.junit.Test; import protobuf.codec.Codec; import protobuf.codec.json.JsonCodec; import protobuf.codec.json.TypesProtoBuf; import protobuf.codec.json.TypesProtoBuf.Unknown; import protobuf.codec.json.TypesProtoBuf.Version; import com.google.protobuf.ExtensionRegistry; public class TestUnkownFields { private Unknown typesUnknown; private protobuf.codec.json.UnknownProtoBuf.Unknown unknownUnknown; @Before public void setUp() { typesUnknown=Unknown.newBuilder() .setId(1) .setName("HelloWorld") .addAlias("superman") .addAlias("spiderman") .addVerions(Version.newBuilder().setName("ver1").setVernum(1).build()) .addVerions(Version.newBuilder().setName("ver2").setVernum(2).build()) .setLiveversion(Version.newBuilder().setName("liveversion").setVernum(100).build()) .setExtension(TypesProtoBuf.othername, "other extn") .build(); unknownUnknown=protobuf.codec.json.UnknownProtoBuf.Unknown.newBuilder() .setName("Hello Unknown") .build(); } @Test public void serializeUnknownBasic() throws Exception{ protobuf.codec.json.UnknownProtoBuf.Unknown unknown1 = protobuf.codec.json.UnknownProtoBuf.Unknown .newBuilder().mergeFrom(typesUnknown.toByteArray()).build(); Codec codec=new JsonCodec(); StringWriter writer=new StringWriter(); codec.fromMessage(unknown1, writer); String json=writer.toString(); System.out.println(json); ExtensionRegistry extnReg=ExtensionRegistry.newInstance(); extnReg.add(TypesProtoBuf.othername); assertEquals(typesUnknown, codec.toMessage(Unknown.class, new StringReader(json),extnReg)); } }