comparison src/test/java/org/msgpack/template/builder/TestOrdinalEnumPackConvert.java @ 0:cb825acd883a

first commit
author sugi
date Sat, 18 Oct 2014 15:06:15 +0900
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:cb825acd883a
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 }