/** * 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.enumeration; import java.io.IOException; import java.util.Arrays; import org.junit.Assert; import org.junit.Test; import com.baidu.bjf.remoting.protobuf.Codec; import com.baidu.bjf.remoting.protobuf.ProtobufProxy; import com.baidu.bjf.remoting.protobuf.enumeration.EnumClass.EnumClassInternal; /** * Test class for enum type * * @author xiemalin * @since 1.4.0 */ public class EnumClassTest { @Test public void testEnum() throws IOException { Codec<EnumPOJOClass> codec = ProtobufProxy.create(EnumPOJOClass.class, false); EnumPOJOClass ec = new EnumPOJOClass(); ec.enumAttr = EnumAttrPOJO.INT; byte[] bytes = codec.encode(ec); System.out.println(Arrays.toString(bytes)); EnumPOJOClass decode = codec.decode(bytes); Assert.assertEquals(EnumAttrPOJO.INT, decode.enumAttr); byte[] byteArray = EnumClassInternal.newBuilder().setStatus( com.baidu.bjf.remoting.protobuf.enumeration.EnumClass.EnumAttr.INT).build().toByteArray(); Assert.assertArrayEquals(bytes, byteArray); EnumClassInternal enumClass = com.baidu.bjf.remoting.protobuf.enumeration.EnumClass.EnumClassInternal.parseFrom(bytes); Assert.assertEquals(com.baidu.bjf.remoting.protobuf.enumeration.EnumClass.EnumAttr.INT, enumClass.getStatus()); } @Test public void testEnum2() throws IOException { Codec<EnumPOJOClass2> codec = ProtobufProxy.create(EnumPOJOClass2.class); EnumPOJOClass2 ec = new EnumPOJOClass2(); ec.setEnumAttr(EnumAttrPOJO.INT); byte[] bytes = codec.encode(ec); EnumPOJOClass2 decode = codec.decode(bytes); Assert.assertEquals(EnumAttrPOJO.INT, decode.getEnumAttr()); byte[] byteArray = EnumClassInternal.newBuilder().setStatus( com.baidu.bjf.remoting.protobuf.enumeration.EnumClass.EnumAttr.INT).build().toByteArray(); Assert.assertArrayEquals(bytes, byteArray); EnumClassInternal enumClass = com.baidu.bjf.remoting.protobuf.enumeration.EnumClass.EnumClassInternal.parseFrom(bytes); Assert.assertEquals(com.baidu.bjf.remoting.protobuf.enumeration.EnumClass.EnumAttr.INT, enumClass.getStatus()); } }