/** * Copyright 2014 the original author or authors. * * Licensed under the Baidu company (the "License"); * you may not use this file except in compliance with the License. * */ package com.baidu.bjf.remoting.protobuf.v3; import org.junit.Test; import com.baidu.bjf.remoting.protobuf.Codec; import com.baidu.bjf.remoting.protobuf.ProtobufProxy; import com.baidu.bjf.remoting.protobuf.v3.AddressBookProtos.Person; import com.baidu.bjf.remoting.protobuf.v3.AddressBookProtos.Person.Builder; /** * Map test * * @author xiemalin * @since 2.0.0 */ public class MapTest { @Test public void testMap() throws Exception { Codec<AddressBookPOJO> codec = ProtobufProxy.create(AddressBookPOJO.class); Builder builder = AddressBookProtos.Person.newBuilder(); builder = builder.setName("matthew"); builder.getMutableValues().put("a", "b"); builder.getMutableValues().put("c", "d"); Person person = builder.build(); System.out.println(person.getSerializedSize()); byte[] byteArray = person.toByteArray(); Person p = Person.parseFrom(byteArray); System.out.println(p.getValues()); AddressBookPOJO decode = codec.decode(byteArray); System.out.println(decode.map); System.out.println(codec.size(decode)); byte[] newBytes = codec.encode(decode); Person parseFrom = AddressBookProtos.Person.parseFrom(newBytes); System.out.println(parseFrom); } }