1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20 package org.apache.mina.codec.delimited.serialization;
21
22 import static org.junit.Assert.assertEquals;
23
24 import java.util.LinkedList;
25 import java.util.List;
26
27 import org.apache.mina.codec.IoBuffer;
28 import org.apache.mina.codec.delimited.ByteBufferEncoder;
29 import org.apache.mina.codec.delimited.IoBufferDecoder;
30 import org.apache.mina.generated.thrift.UserProfile;
31 import org.junit.Test;
32
33
34
35
36
37
38 public class ThriftTest extends GenericSerializerTest<UserProfile> {
39
40 @Override
41 public List<UserProfile> getObjects() {
42 List<UserProfile> list = new LinkedList<UserProfile>();
43
44 list.add(new UserProfile().setUid(1).setName("Jean Dupond"));
45 list.add(new UserProfile().setUid(2).setName("Marie Blanc"));
46
47 return list;
48 }
49
50 @Override
51 public IoBufferDecoder<UserProfile> getDecoder() throws Exception {
52 return ThriftMessageDecoder.newInstance(UserProfile.class);
53 }
54
55 @Override
56 public ByteBufferEncoder<UserProfile> getEncoder() throws Exception {
57 return ThriftMessageEncoder.newInstance(UserProfile.class);
58 }
59
60 @Test
61 public void testDynamic() throws Exception {
62 ByteBufferEncoder<UserProfile> encoder = getEncoder();
63 ThriftDynamicMessageDecoder decoder = new ThriftDynamicMessageDecoder();
64
65 for (UserProfile object : getObjects()) {
66 ThriftDynamicMessageDecoder.ThriftSerializedMessage message = decoder
67 .decode(IoBuffer.wrap(encoder.encode(object)));
68 assertEquals(object, message.get(UserProfile.class));
69 }
70 }
71 }