annotate src/test/java/org/msgpack/template/TestTemplates.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;
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 java.io.IOException;
cb825acd883a first commit
sugi
parents:
diff changeset
6 import java.nio.ByteBuffer;
cb825acd883a first commit
sugi
parents:
diff changeset
7 import java.util.List;
cb825acd883a first commit
sugi
parents:
diff changeset
8 import java.util.Map;
cb825acd883a first commit
sugi
parents:
diff changeset
9 import java.util.Collection;
cb825acd883a first commit
sugi
parents:
diff changeset
10 import java.util.Date;
cb825acd883a first commit
sugi
parents:
diff changeset
11 import java.math.BigInteger;
cb825acd883a first commit
sugi
parents:
diff changeset
12 import java.math.BigDecimal;
cb825acd883a first commit
sugi
parents:
diff changeset
13 import java.util.ArrayList;
cb825acd883a first commit
sugi
parents:
diff changeset
14
cb825acd883a first commit
sugi
parents:
diff changeset
15 import org.msgpack.MessagePack;
cb825acd883a first commit
sugi
parents:
diff changeset
16 import org.msgpack.packer.BufferPacker;
cb825acd883a first commit
sugi
parents:
diff changeset
17 import org.msgpack.unpacker.Unpacker;
cb825acd883a first commit
sugi
parents:
diff changeset
18
cb825acd883a first commit
sugi
parents:
diff changeset
19 import static org.msgpack.template.Templates.*;
cb825acd883a first commit
sugi
parents:
diff changeset
20
cb825acd883a first commit
sugi
parents:
diff changeset
21 import org.junit.Test;
cb825acd883a first commit
sugi
parents:
diff changeset
22
cb825acd883a first commit
sugi
parents:
diff changeset
23
cb825acd883a first commit
sugi
parents:
diff changeset
24 public class TestTemplates {
cb825acd883a first commit
sugi
parents:
diff changeset
25 public static enum MyEnum {
cb825acd883a first commit
sugi
parents:
diff changeset
26 A, B, C;
cb825acd883a first commit
sugi
parents:
diff changeset
27 }
cb825acd883a first commit
sugi
parents:
diff changeset
28
cb825acd883a first commit
sugi
parents:
diff changeset
29 @SuppressWarnings("unused")
cb825acd883a first commit
sugi
parents:
diff changeset
30 @Test
cb825acd883a first commit
sugi
parents:
diff changeset
31 public void testGenericsTypesCompliable() throws IOException {
cb825acd883a first commit
sugi
parents:
diff changeset
32 Template<Byte> tbyte = TByte;
cb825acd883a first commit
sugi
parents:
diff changeset
33 Template<Short> tshort = TShort;
cb825acd883a first commit
sugi
parents:
diff changeset
34 Template<Integer> tinteger = TInteger;
cb825acd883a first commit
sugi
parents:
diff changeset
35 Template<Long> tlong = TLong;
cb825acd883a first commit
sugi
parents:
diff changeset
36 Template<Character> tcharacter = TCharacter;
cb825acd883a first commit
sugi
parents:
diff changeset
37 Template<BigInteger> tbiginteger = TBigInteger;
cb825acd883a first commit
sugi
parents:
diff changeset
38 Template<BigDecimal> tbigdecimail = TBigDecimal;
cb825acd883a first commit
sugi
parents:
diff changeset
39 Template<Float> tfloat = TFloat;
cb825acd883a first commit
sugi
parents:
diff changeset
40 Template<Double> tdouble = TDouble;
cb825acd883a first commit
sugi
parents:
diff changeset
41 Template<Boolean> tboolean = TBoolean;
cb825acd883a first commit
sugi
parents:
diff changeset
42 Template<String> tstring = TString;
cb825acd883a first commit
sugi
parents:
diff changeset
43 Template<byte[]> tbytearray = TByteArray;
cb825acd883a first commit
sugi
parents:
diff changeset
44 Template<ByteBuffer> tbytebuffer = TByteBuffer;
cb825acd883a first commit
sugi
parents:
diff changeset
45 Template<Date> tdate = TDate;
cb825acd883a first commit
sugi
parents:
diff changeset
46
cb825acd883a first commit
sugi
parents:
diff changeset
47 Template<List<String>> tlist = tList(TString);
cb825acd883a first commit
sugi
parents:
diff changeset
48 Template<Map<String,Integer>> tmap = tMap(TString, TInteger);
cb825acd883a first commit
sugi
parents:
diff changeset
49 Template<Collection<Long>> tcollection = tCollection(TLong);
cb825acd883a first commit
sugi
parents:
diff changeset
50 Template<MyEnum> tordinalenum = tOrdinalEnum(MyEnum.class);
cb825acd883a first commit
sugi
parents:
diff changeset
51 }
cb825acd883a first commit
sugi
parents:
diff changeset
52
cb825acd883a first commit
sugi
parents:
diff changeset
53 @Test
cb825acd883a first commit
sugi
parents:
diff changeset
54 public void testList() throws IOException {
cb825acd883a first commit
sugi
parents:
diff changeset
55 MessagePack msgpack = new MessagePack();
cb825acd883a first commit
sugi
parents:
diff changeset
56
cb825acd883a first commit
sugi
parents:
diff changeset
57 BufferPacker pk = msgpack.createBufferPacker();
cb825acd883a first commit
sugi
parents:
diff changeset
58
cb825acd883a first commit
sugi
parents:
diff changeset
59 Template<List<String>> t = tList(TString);
cb825acd883a first commit
sugi
parents:
diff changeset
60 List<String> list1 = new ArrayList<String>();
cb825acd883a first commit
sugi
parents:
diff changeset
61 list1.add("a");
cb825acd883a first commit
sugi
parents:
diff changeset
62 list1.add("b");
cb825acd883a first commit
sugi
parents:
diff changeset
63 t.write(pk, list1);
cb825acd883a first commit
sugi
parents:
diff changeset
64
cb825acd883a first commit
sugi
parents:
diff changeset
65 byte[] raw = pk.toByteArray();
cb825acd883a first commit
sugi
parents:
diff changeset
66 Unpacker u = msgpack.createBufferUnpacker(raw);
cb825acd883a first commit
sugi
parents:
diff changeset
67 List<String> list2 = t.read(u, new ArrayList<String>());
cb825acd883a first commit
sugi
parents:
diff changeset
68
cb825acd883a first commit
sugi
parents:
diff changeset
69 assertEquals(list1, list2);
cb825acd883a first commit
sugi
parents:
diff changeset
70 }
cb825acd883a first commit
sugi
parents:
diff changeset
71 }
cb825acd883a first commit
sugi
parents:
diff changeset
72