Mercurial > hg > Members > sugi > MessagePack-java
view src/test/java/org/msgpack/template/builder/TestOrdinalEnumBufferPackConvert.java @ 0:cb825acd883a
first commit
author | sugi |
---|---|
date | Sat, 18 Oct 2014 15:06:15 +0900 |
parents | |
children |
line wrap: on
line source
package org.msgpack.template.builder; import static org.junit.Assert.assertEquals; import org.junit.Test; import org.msgpack.MessagePack; import org.msgpack.packer.BufferPacker; import org.msgpack.template.TemplateRegistry; import org.msgpack.template.Template; import org.msgpack.testclasses.EnumTypeFieldsClass; import org.msgpack.testclasses.EnumTypeFieldsClassNotNullable; import org.msgpack.type.Value; import org.msgpack.unpacker.BufferUnpacker; import org.msgpack.unpacker.Converter; public class TestOrdinalEnumBufferPackConvert extends TestSet { @Test @Override public void testEnumTypeFieldsClass() throws Exception { super.testEnumTypeFieldsClass(); } @Override public void testEnumTypeFieldsClass(EnumTypeFieldsClass v) throws Exception { MessagePack msgpack = new MessagePack(); TemplateRegistry registry = new TemplateRegistry(null); registry.register(EnumTypeFieldsClass.SampleEnum.class, new OrdinalEnumTemplateBuilder(registry).buildTemplate(EnumTypeFieldsClass.SampleEnum.class)); ReflectionTemplateBuilder builder = new ReflectionTemplateBuilder(registry); Template<EnumTypeFieldsClass> tmpl = builder.buildTemplate(EnumTypeFieldsClass.class); BufferPacker packer = msgpack.createBufferPacker(); tmpl.write(packer, v); byte[] bytes = packer.toByteArray(); BufferUnpacker u = msgpack.createBufferUnpacker(); u.resetReadByteCount(); u.wrap(bytes); Value value = u.readValue(); Converter unpacker = new Converter(value); EnumTypeFieldsClass ret = tmpl.read(unpacker, null); assertEquals(v, ret); assertEquals(bytes.length, u.getReadByteCount()); } @Test @Override public void testEnumTypeFieldsClassNotNullable() throws Exception { super.testEnumTypeFieldsClassNotNullable(); } @Override public void testEnumTypeFieldsClassNotNullable(EnumTypeFieldsClassNotNullable v) throws Exception { MessagePack msgpack = new MessagePack(); TemplateRegistry registry = new TemplateRegistry(null); registry.register(EnumTypeFieldsClassNotNullable.SampleEnum.class, new OrdinalEnumTemplateBuilder(registry).buildTemplate(EnumTypeFieldsClassNotNullable.SampleEnum.class)); ReflectionTemplateBuilder builder = new ReflectionTemplateBuilder(registry); Template<EnumTypeFieldsClassNotNullable> tmpl = builder.buildTemplate(EnumTypeFieldsClassNotNullable.class); BufferPacker packer = msgpack.createBufferPacker(); tmpl.write(packer, v); byte[] bytes = packer.toByteArray(); BufferUnpacker u = msgpack.createBufferUnpacker(); u.resetReadByteCount(); u.wrap(bytes); Value value = u.readValue(); Converter unpacker = new Converter(value); EnumTypeFieldsClassNotNullable ret = tmpl.read(unpacker, null); assertEquals(v, ret); assertEquals(bytes.length, u.getReadByteCount()); } }