Mercurial > hg > Members > sugi > MessagePack-java
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 } |