0
|
1 package org.msgpack.template.builder;
|
|
2
|
|
3 import static org.junit.Assert.assertEquals;
|
|
4
|
|
5 import org.junit.Test;
|
|
6 import org.msgpack.MessagePack;
|
|
7 import org.msgpack.packer.BufferPacker;
|
|
8 import org.msgpack.template.TemplateRegistry;
|
|
9 import org.msgpack.template.Template;
|
|
10 import org.msgpack.testclasses.EnumTypeFieldsClass;
|
|
11 import org.msgpack.testclasses.EnumTypeFieldsClassNotNullable;
|
|
12 import org.msgpack.type.Value;
|
|
13 import org.msgpack.unpacker.BufferUnpacker;
|
|
14 import org.msgpack.unpacker.Converter;
|
|
15
|
|
16
|
|
17 public class TestOrdinalEnumBufferPackConvert extends TestSet {
|
|
18
|
|
19 @Test @Override
|
|
20 public void testEnumTypeFieldsClass() throws Exception {
|
|
21 super.testEnumTypeFieldsClass();
|
|
22 }
|
|
23
|
|
24 @Override
|
|
25 public void testEnumTypeFieldsClass(EnumTypeFieldsClass v) throws Exception {
|
|
26 MessagePack msgpack = new MessagePack();
|
|
27 TemplateRegistry registry = new TemplateRegistry(null);
|
|
28 registry.register(EnumTypeFieldsClass.SampleEnum.class,
|
|
29 new OrdinalEnumTemplateBuilder(registry).buildTemplate(EnumTypeFieldsClass.SampleEnum.class));
|
|
30 ReflectionTemplateBuilder builder = new ReflectionTemplateBuilder(registry);
|
|
31 Template<EnumTypeFieldsClass> tmpl = builder.buildTemplate(EnumTypeFieldsClass.class);
|
|
32 BufferPacker packer = msgpack.createBufferPacker();
|
|
33 tmpl.write(packer, v);
|
|
34 byte[] bytes = packer.toByteArray();
|
|
35 BufferUnpacker u = msgpack.createBufferUnpacker();
|
|
36 u.resetReadByteCount();
|
|
37 u.wrap(bytes);
|
|
38 Value value = u.readValue();
|
|
39 Converter unpacker = new Converter(value);
|
|
40 EnumTypeFieldsClass ret = tmpl.read(unpacker, null);
|
|
41 assertEquals(v, ret);
|
|
42 assertEquals(bytes.length, u.getReadByteCount());
|
|
43 }
|
|
44
|
|
45 @Test @Override
|
|
46 public void testEnumTypeFieldsClassNotNullable() throws Exception {
|
|
47 super.testEnumTypeFieldsClassNotNullable();
|
|
48 }
|
|
49
|
|
50 @Override
|
|
51 public void testEnumTypeFieldsClassNotNullable(EnumTypeFieldsClassNotNullable v) throws Exception {
|
|
52 MessagePack msgpack = new MessagePack();
|
|
53 TemplateRegistry registry = new TemplateRegistry(null);
|
|
54 registry.register(EnumTypeFieldsClassNotNullable.SampleEnum.class,
|
|
55 new OrdinalEnumTemplateBuilder(registry).buildTemplate(EnumTypeFieldsClassNotNullable.SampleEnum.class));
|
|
56 ReflectionTemplateBuilder builder = new ReflectionTemplateBuilder(registry);
|
|
57 Template<EnumTypeFieldsClassNotNullable> tmpl = builder.buildTemplate(EnumTypeFieldsClassNotNullable.class);
|
|
58 BufferPacker packer = msgpack.createBufferPacker();
|
|
59 tmpl.write(packer, v);
|
|
60 byte[] bytes = packer.toByteArray();
|
|
61 BufferUnpacker u = msgpack.createBufferUnpacker();
|
|
62 u.resetReadByteCount();
|
|
63 u.wrap(bytes);
|
|
64 Value value = u.readValue();
|
|
65 Converter unpacker = new Converter(value);
|
|
66 EnumTypeFieldsClassNotNullable ret = tmpl.read(unpacker, null);
|
|
67 assertEquals(v, ret);
|
|
68 assertEquals(bytes.length, u.getReadByteCount());
|
|
69 }
|
|
70 }
|