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