Skip to content

Commit cd2cc5a

Browse files
committed
added TestSimplePackable
1 parent 1ff792d commit cd2cc5a

3 files changed

Lines changed: 101 additions & 3 deletions

File tree

src/test/java/org/msgpack/TestCrossLang.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ public void testReadValue() throws IOException {
6262
assertTrue(bt.hasNext());
6363
Value av = at.next();
6464
Value bv = bt.next();
65-
//assertEquals(av, bv);
65+
assertEquals(av, bv);
6666
}
6767
assertFalse(bt.hasNext());
6868
}

src/test/java/org/msgpack/TestSimplePackUnpack.java

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,8 @@
11
package org.msgpack;
22

3+
import static org.junit.Assert.assertEquals;
4+
import static org.junit.Assert.assertTrue;
5+
36
import java.math.BigInteger;
47
import java.nio.ByteBuffer;
58
import java.io.IOException;
@@ -13,9 +16,9 @@
1316
import org.msgpack.MessagePack;
1417
import org.msgpack.value.Value;
1518

16-
import junit.framework.TestCase;
19+
import org.junit.Test;
1720

18-
public class TestSimplePackUnpack extends TestCase {
21+
public class TestSimplePackUnpack {
1922
@Test
2023
public void testSimplePackUnpack() throws IOException {
2124
MessagePack msgpack = new MessagePack();
Lines changed: 95 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,95 @@
1+
package org.msgpack;
2+
3+
import static org.junit.Assert.assertEquals;
4+
import static org.junit.Assert.assertTrue;
5+
import static org.junit.Assert.assertArrayEquals;
6+
7+
import java.math.BigInteger;
8+
import java.nio.ByteBuffer;
9+
import java.io.IOException;
10+
import java.util.ArrayList;
11+
import java.util.HashMap;
12+
import java.util.Iterator;
13+
import java.util.List;
14+
import java.util.Map;
15+
16+
import org.msgpack.MessagePack;
17+
import org.msgpack.value.Value;
18+
import org.msgpack.packer.Packer;
19+
import org.msgpack.packer.BufferPacker;
20+
import org.msgpack.unpacker.Unpacker;
21+
import org.msgpack.unpacker.BufferUnpacker;
22+
23+
import org.junit.Test;
24+
25+
public class TestSimplePackable {
26+
// all files are REQUIRED
27+
public static class Sample01 implements MessagePackable {
28+
public String f0;
29+
public int[] f1;
30+
public List<String> f2;
31+
32+
public Sample01() { }
33+
34+
public void writeTo(Packer pk) throws IOException {
35+
pk.writeArrayBegin(3);
36+
pk.writeString(f0);
37+
pk.writeArrayBegin(f1.length);
38+
for(int e : f1) {
39+
pk.writeInt(e);
40+
}
41+
pk.writeArrayEnd();
42+
pk.writeArrayBegin(f2.size());
43+
for(String e : f2) {
44+
pk.writeString(e);
45+
}
46+
pk.writeArrayEnd();
47+
pk.writeArrayEnd();
48+
}
49+
50+
public void readFrom(Unpacker u) throws IOException {
51+
u.readArrayBegin();
52+
f0 = u.readString();
53+
int nf1 = u.readArrayBegin();
54+
f1 = new int[nf1];
55+
for(int i=0; i < nf1; i++) {
56+
f1[i] = u.readInt();
57+
}
58+
u.readArrayEnd();
59+
int nf2 = u.readArrayBegin();
60+
f2 = new ArrayList<String>(nf2);
61+
for(int i=0; i < nf2; i++) {
62+
f2.add(u.readString());
63+
}
64+
u.readArrayEnd();
65+
u.readArrayEnd();
66+
}
67+
}
68+
69+
@Test
70+
public void testSample01() throws IOException {
71+
Sample01 a = new Sample01();
72+
a.f0 = "aaa";
73+
a.f1 = new int[3];
74+
a.f1[0] = 1010;
75+
a.f1[1] = 2020;
76+
a.f1[2] = 3030;
77+
a.f2 = new ArrayList<String>();
78+
a.f2.add("xx");
79+
a.f2.add("yy");
80+
81+
BufferPacker pk = new BufferPacker();
82+
a.writeTo(pk);
83+
84+
byte[] raw = pk.toByteArray();
85+
86+
BufferUnpacker u = new BufferUnpacker().wrap(raw);
87+
Sample01 b = new Sample01();
88+
b.readFrom(u);
89+
90+
assertEquals(a.f0, b.f0);
91+
assertArrayEquals(a.f1, b.f1);
92+
assertEquals(a.f2, b.f2);
93+
}
94+
}
95+

0 commit comments

Comments
 (0)