forked from msgpack/msgpack-java
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathTestByteBufferTemplate.java
More file actions
140 lines (122 loc) · 4.22 KB
/
TestByteBufferTemplate.java
File metadata and controls
140 lines (122 loc) · 4.22 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
package org.msgpack.template;
import static org.junit.Assert.assertEquals;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
import java.nio.ByteBuffer;
import org.junit.Test;
import org.msgpack.TestSet;
import org.msgpack.packer.BufferPacker;
import org.msgpack.packer.StreamPacker;
import org.msgpack.unpacker.BufferUnpacker;
import org.msgpack.unpacker.StreamUnpacker;
public class TestByteBufferTemplate {
private static byte[] toByteArray(ByteBuffer from) {
byte[] bytes = new byte[from.remaining()];
from.get(bytes, from.arrayOffset() + from.position(), from.remaining());
return bytes;
}
@Test
public void testStreamPackStreamUnpack() throws Exception {
new TestStreamPackStreamUnpack().testByteBuffer();
}
@Test
public void testStreamPackBufferUnpack() throws Exception {
new TestStreamPackBufferUnpack().testByteBuffer();
}
@Test
public void testBufferPackBufferUnpack() throws Exception {
new TestBufferPackBufferUnpack().testByteBuffer();
}
@Test
public void testBufferPackStreamUnpack() throws Exception {
new TestBufferPackStreamUnpack().testByteBuffer();
}
private static class TestStreamPackStreamUnpack extends TestSet {
@Test @Override
public void testByteBuffer() throws Exception {
super.testByteBuffer();
}
@Override
public void testByteBuffer(ByteBuffer v) throws Exception {
Template tmpl = ByteBufferTemplate.instance;
ByteArrayOutputStream out = new ByteArrayOutputStream();
StreamPacker packer = new StreamPacker(out);
tmpl.write(packer, v);
byte[] bytes = out.toByteArray();
StreamUnpacker unpacker = new StreamUnpacker(new ByteArrayInputStream(bytes));
ByteBuffer ret = (ByteBuffer) tmpl.read(unpacker, null);
byte[] v2 = toByteArray(v);
byte[] ret2 = toByteArray(ret);
assertEquals(v2.length, ret2.length);
for (int i = 0; i < v2.length; ++i) {
assertEquals(v2[i], ret2[i]);
}
}
}
private static class TestStreamPackBufferUnpack extends TestSet {
@Test @Override
public void testByteBuffer() throws Exception {
super.testByteBuffer();
}
@Override
public void testByteBuffer(ByteBuffer v) throws Exception {
Template tmpl = ByteBufferTemplate.instance;
ByteArrayOutputStream out = new ByteArrayOutputStream();
StreamPacker packer = new StreamPacker(out);
tmpl.write(packer, v);
byte[] bytes = out.toByteArray();
BufferUnpacker unpacker = new BufferUnpacker();
unpacker.wrap(bytes);
ByteBuffer ret = (ByteBuffer) tmpl.read(unpacker, null);
byte[] v2 = toByteArray(v);
byte[] ret2 = toByteArray(ret);
assertEquals(v2.length, ret2.length);
for (int i = 0; i < v2.length; ++i) {
assertEquals(v2[i], ret2[i]);
}
}
}
private static class TestBufferPackBufferUnpack extends TestSet {
@Test @Override
public void testByteBuffer() throws Exception {
super.testByteBuffer();
}
@Override
public void testByteBuffer(ByteBuffer v) throws Exception {
Template tmpl = ByteBufferTemplate.instance;
BufferPacker packer = new BufferPacker();
tmpl.write(packer, v);
byte[] bytes = packer.toByteArray();
BufferUnpacker unpacker = new BufferUnpacker();
unpacker.wrap(bytes);
ByteBuffer ret = (ByteBuffer) tmpl.read(unpacker, null);
byte[] v2 = toByteArray(v);
byte[] ret2 = toByteArray(ret);
assertEquals(v2.length, ret2.length);
for (int i = 0; i < v2.length; ++i) {
assertEquals(v2[i], ret2[i]);
}
}
}
private static class TestBufferPackStreamUnpack extends TestSet {
@Test @Override
public void testByteBuffer() throws Exception {
super.testByteBuffer();
}
@Override
public void testByteBuffer(ByteBuffer v) throws Exception {
Template tmpl = ByteBufferTemplate.instance;
BufferPacker packer = new BufferPacker();
tmpl.write(packer, v);
byte[] bytes = packer.toByteArray();
StreamUnpacker unpacker = new StreamUnpacker(new ByteArrayInputStream(bytes));
ByteBuffer ret = (ByteBuffer) tmpl.read(unpacker, null);
byte[] v2 = toByteArray(v);
byte[] ret2 = toByteArray(ret);
assertEquals(v2.length, ret2.length);
for (int i = 0; i < v2.length; ++i) {
assertEquals(v2[i], ret2[i]);
}
}
}
}