1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 package org.apache.juneau.marshaller;
18
19 import static org.apache.juneau.TestUtils.*;
20 import static org.apache.juneau.common.utils.StringUtils.*;
21 import static org.junit.jupiter.api.Assertions.*;
22
23 import java.io.*;
24 import java.util.*;
25
26 import org.apache.juneau.*;
27 import org.apache.juneau.collections.*;
28 import org.junit.jupiter.api.*;
29
30 class MsgPack_Test extends TestBase {
31
32 @Test void a01_to() throws Exception {
33 var in1 = "foo";
34 var in2 = JsonMap.of("foo", "bar");
35 var expected1 = "A3666F6F";
36 var expected2 = "81A3666F6FA3626172";
37
38 assertEquals(toHex(MsgPack.of(in1)), expected1);
39 assertEquals(toHex(bytes(MsgPack.of(in1,baos()))), expected1);
40 assertEquals(toHex(MsgPack.of(in2)), expected2);
41 assertEquals(toHex(bytes(MsgPack.of(in2,baos()))), expected2);
42 }
43
44 @Test void a02_from() throws Exception {
45 var in1 = "A3666F6F";
46 var in2 = "81A3666F6FA3626172";
47 var expected1 = "foo";
48 var expected2 = "{foo:'bar'}";
49
50 assertEquals(expected1, MsgPack.to(in1, String.class));
51 assertEquals(expected1, MsgPack.to(fromHex(in1), String.class));
52 assertJson(expected2, MsgPack.to(in2, Map.class, String.class, String.class));
53 assertJson(expected2, MsgPack.to(fromHex(in2), Map.class, String.class, String.class));
54 }
55
56
57
58
59
60 private OutputStream baos() {
61 return new ByteArrayOutputStream();
62 }
63
64 private byte[] bytes(Object o) {
65 return ((ByteArrayOutputStream)o).toByteArray();
66 }
67 }