comparison src/test/java/org/msgpack/unpacker/TestUnpackerSkip.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.unpacker;
2
3 import static org.junit.Assert.assertEquals;
4
5 import org.junit.Test;
6 import org.msgpack.MessagePack;
7 import org.msgpack.packer.BufferPacker;
8 import org.msgpack.unpacker.BufferUnpacker;
9 import org.msgpack.type.Value;
10 import org.msgpack.type.ValueFactory;
11
12 public class TestUnpackerSkip {
13 @Test
14 public void testPrimitive() throws Exception {
15 MessagePack msgpack = new MessagePack();
16
17 BufferPacker packer = msgpack.createBufferPacker();
18
19 for (int i = 0; i < 10; i++) {
20 packer.write(1);
21 packer.write(i);
22 }
23
24 byte[] bytes = packer.toByteArray();
25 BufferUnpacker unpacker = msgpack.createBufferUnpacker(bytes);
26
27 for (int i = 0; i < 10; i++) {
28 unpacker.skip();
29 int n = unpacker.readInt();
30 assertEquals(i, n);
31 }
32 }
33
34 @Test
35 public void testNested() throws Exception {
36 MessagePack msgpack = new MessagePack();
37
38 BufferPacker packer = msgpack.createBufferPacker();
39
40 Value v1 = ValueFactory.createArrayValue(new Value[] {
41 ValueFactory.createRawValue("a"),
42 ValueFactory.createMapValue(new Value[] {
43 ValueFactory.createRawValue("k1"),
44 ValueFactory
45 .createArrayValue(new Value[] { ValueFactory
46 .createIntegerValue(1) }) }) });
47
48 Value v2 = ValueFactory.createArrayValue(new Value[] {
49 ValueFactory.createMapValue(new Value[] {
50 ValueFactory.createRawValue("k1"),
51 ValueFactory
52 .createArrayValue(new Value[] { ValueFactory
53 .createIntegerValue(1) }),
54 ValueFactory.createRawValue("k2"),
55 ValueFactory
56 .createArrayValue(new Value[] { ValueFactory
57 .createIntegerValue(2) }) }),
58 ValueFactory.createMapValue(new Value[] {
59 ValueFactory.createRawValue("k1"),
60 ValueFactory
61 .createArrayValue(new Value[] { ValueFactory
62 .createIntegerValue(1) }),
63 ValueFactory.createRawValue("k2"),
64 ValueFactory
65 .createArrayValue(new Value[] { ValueFactory
66 .createIntegerValue(2) }) }),
67 ValueFactory.createRawValue("a") });
68
69 for (int i = 0; i < 10; i++) {
70 packer.write(v1);
71 packer.write(v2);
72 }
73
74 byte[] bytes = packer.toByteArray();
75 BufferUnpacker unpacker = msgpack.createBufferUnpacker(bytes);
76
77 for (int i = 0; i < 10; i++) {
78 unpacker.skip();
79 Value v2a = unpacker.readValue();
80 assertEquals(v2, v2a);
81 }
82 }
83 }