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