annotate src/test/java/org/msgpack/io/TestLinkedBufferOutput.java @ 0:cb825acd883a

first commit
author sugi
date Sat, 18 Oct 2014 15:06:15 +0900
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
cb825acd883a first commit
sugi
parents:
diff changeset
1 package org.msgpack.io;
cb825acd883a first commit
sugi
parents:
diff changeset
2
cb825acd883a first commit
sugi
parents:
diff changeset
3 import static org.junit.Assert.assertEquals;
cb825acd883a first commit
sugi
parents:
diff changeset
4 import static org.junit.Assert.assertArrayEquals;
cb825acd883a first commit
sugi
parents:
diff changeset
5
cb825acd883a first commit
sugi
parents:
diff changeset
6 import java.io.IOException;
cb825acd883a first commit
sugi
parents:
diff changeset
7 import java.io.DataOutputStream;
cb825acd883a first commit
sugi
parents:
diff changeset
8 import java.io.ByteArrayOutputStream;
cb825acd883a first commit
sugi
parents:
diff changeset
9
cb825acd883a first commit
sugi
parents:
diff changeset
10 import org.junit.Test;
cb825acd883a first commit
sugi
parents:
diff changeset
11
cb825acd883a first commit
sugi
parents:
diff changeset
12
cb825acd883a first commit
sugi
parents:
diff changeset
13 public class TestLinkedBufferOutput {
cb825acd883a first commit
sugi
parents:
diff changeset
14 @Test
cb825acd883a first commit
sugi
parents:
diff changeset
15 public void testGetSize() throws IOException {
cb825acd883a first commit
sugi
parents:
diff changeset
16 LinkedBufferOutput o = new LinkedBufferOutput(10);
cb825acd883a first commit
sugi
parents:
diff changeset
17 for(int i=0; i < 21; i++) {
cb825acd883a first commit
sugi
parents:
diff changeset
18 o.writeByte((byte)1);
cb825acd883a first commit
sugi
parents:
diff changeset
19 assertEquals(i+1, o.getSize());
cb825acd883a first commit
sugi
parents:
diff changeset
20 }
cb825acd883a first commit
sugi
parents:
diff changeset
21 }
cb825acd883a first commit
sugi
parents:
diff changeset
22
cb825acd883a first commit
sugi
parents:
diff changeset
23 @Test
cb825acd883a first commit
sugi
parents:
diff changeset
24 public void testWritePrimitives() throws IOException {
cb825acd883a first commit
sugi
parents:
diff changeset
25 ByteArrayOutputStream bo = new ByteArrayOutputStream();
cb825acd883a first commit
sugi
parents:
diff changeset
26 DataOutputStream o1 = new DataOutputStream(bo);
cb825acd883a first commit
sugi
parents:
diff changeset
27 LinkedBufferOutput o2 = new LinkedBufferOutput(10);
cb825acd883a first commit
sugi
parents:
diff changeset
28 o1.writeByte((byte)2);
cb825acd883a first commit
sugi
parents:
diff changeset
29 o2.writeByte((byte)2);
cb825acd883a first commit
sugi
parents:
diff changeset
30 o1.writeShort((short)2);
cb825acd883a first commit
sugi
parents:
diff changeset
31 o2.writeShort((short)2);
cb825acd883a first commit
sugi
parents:
diff changeset
32 o1.writeInt(2);
cb825acd883a first commit
sugi
parents:
diff changeset
33 o2.writeInt(2);
cb825acd883a first commit
sugi
parents:
diff changeset
34 o1.writeLong(2L);
cb825acd883a first commit
sugi
parents:
diff changeset
35 o2.writeLong(2L);
cb825acd883a first commit
sugi
parents:
diff changeset
36 o1.writeFloat(1.1f);
cb825acd883a first commit
sugi
parents:
diff changeset
37 o2.writeFloat(1.1f);
cb825acd883a first commit
sugi
parents:
diff changeset
38 o1.writeDouble(1.1);
cb825acd883a first commit
sugi
parents:
diff changeset
39 o2.writeDouble(1.1);
cb825acd883a first commit
sugi
parents:
diff changeset
40 byte[] b1 = bo.toByteArray();
cb825acd883a first commit
sugi
parents:
diff changeset
41 byte[] b2 = o2.toByteArray();
cb825acd883a first commit
sugi
parents:
diff changeset
42 assertEquals(b1.length, b2.length);
cb825acd883a first commit
sugi
parents:
diff changeset
43 assertArrayEquals(b1, b2);
cb825acd883a first commit
sugi
parents:
diff changeset
44 }
cb825acd883a first commit
sugi
parents:
diff changeset
45
cb825acd883a first commit
sugi
parents:
diff changeset
46 @Test
cb825acd883a first commit
sugi
parents:
diff changeset
47 public void testWriteByteAndPrimitives() throws IOException {
cb825acd883a first commit
sugi
parents:
diff changeset
48 ByteArrayOutputStream bo = new ByteArrayOutputStream();
cb825acd883a first commit
sugi
parents:
diff changeset
49 DataOutputStream o1 = new DataOutputStream(bo);
cb825acd883a first commit
sugi
parents:
diff changeset
50 LinkedBufferOutput o2 = new LinkedBufferOutput(10);
cb825acd883a first commit
sugi
parents:
diff changeset
51 o1.writeByte((byte)9);
cb825acd883a first commit
sugi
parents:
diff changeset
52 o1.writeByte((byte)2);
cb825acd883a first commit
sugi
parents:
diff changeset
53 o2.writeByteAndByte((byte)9, (byte)2);
cb825acd883a first commit
sugi
parents:
diff changeset
54 o1.writeByte((byte)9);
cb825acd883a first commit
sugi
parents:
diff changeset
55 o1.writeShort((short)2);
cb825acd883a first commit
sugi
parents:
diff changeset
56 o2.writeByteAndShort((byte)9, (short)2);
cb825acd883a first commit
sugi
parents:
diff changeset
57 o1.writeByte((byte)9);
cb825acd883a first commit
sugi
parents:
diff changeset
58 o1.writeInt(2);
cb825acd883a first commit
sugi
parents:
diff changeset
59 o2.writeByteAndInt((byte)9, 2);
cb825acd883a first commit
sugi
parents:
diff changeset
60 o1.writeByte((byte)9);
cb825acd883a first commit
sugi
parents:
diff changeset
61 o1.writeLong(2L);
cb825acd883a first commit
sugi
parents:
diff changeset
62 o2.writeByteAndLong((byte)9, 2L);
cb825acd883a first commit
sugi
parents:
diff changeset
63 o1.writeByte((byte)9);
cb825acd883a first commit
sugi
parents:
diff changeset
64 o1.writeFloat(1.1f);
cb825acd883a first commit
sugi
parents:
diff changeset
65 o2.writeByteAndFloat((byte)9, 1.1f);
cb825acd883a first commit
sugi
parents:
diff changeset
66 o1.writeByte((byte)9);
cb825acd883a first commit
sugi
parents:
diff changeset
67 o1.writeDouble(1.1);
cb825acd883a first commit
sugi
parents:
diff changeset
68 o2.writeByteAndDouble((byte)9, 1.1);
cb825acd883a first commit
sugi
parents:
diff changeset
69 byte[] b1 = bo.toByteArray();
cb825acd883a first commit
sugi
parents:
diff changeset
70 byte[] b2 = o2.toByteArray();
cb825acd883a first commit
sugi
parents:
diff changeset
71 assertEquals(b1.length, b2.length);
cb825acd883a first commit
sugi
parents:
diff changeset
72 assertArrayEquals(b1, b2);
cb825acd883a first commit
sugi
parents:
diff changeset
73 }
cb825acd883a first commit
sugi
parents:
diff changeset
74
cb825acd883a first commit
sugi
parents:
diff changeset
75 @Test
cb825acd883a first commit
sugi
parents:
diff changeset
76 public void testWrite() throws IOException {
cb825acd883a first commit
sugi
parents:
diff changeset
77 ByteArrayOutputStream bo = new ByteArrayOutputStream();
cb825acd883a first commit
sugi
parents:
diff changeset
78 DataOutputStream o1 = new DataOutputStream(bo);
cb825acd883a first commit
sugi
parents:
diff changeset
79 LinkedBufferOutput o2 = new LinkedBufferOutput(10);
cb825acd883a first commit
sugi
parents:
diff changeset
80 byte[] raw = new byte[9];
cb825acd883a first commit
sugi
parents:
diff changeset
81 raw[0] = (byte)1;
cb825acd883a first commit
sugi
parents:
diff changeset
82 raw[7] = (byte)1;
cb825acd883a first commit
sugi
parents:
diff changeset
83 for(int i=0; i < 11; i++) {
cb825acd883a first commit
sugi
parents:
diff changeset
84 o1.write(raw, 0, raw.length);
cb825acd883a first commit
sugi
parents:
diff changeset
85 o2.write(raw, 0, raw.length);
cb825acd883a first commit
sugi
parents:
diff changeset
86 }
cb825acd883a first commit
sugi
parents:
diff changeset
87 byte[] b1 = bo.toByteArray();
cb825acd883a first commit
sugi
parents:
diff changeset
88 byte[] b2 = o2.toByteArray();
cb825acd883a first commit
sugi
parents:
diff changeset
89 assertEquals(b1.length, b2.length);
cb825acd883a first commit
sugi
parents:
diff changeset
90 assertArrayEquals(b1, b2);
cb825acd883a first commit
sugi
parents:
diff changeset
91 }
cb825acd883a first commit
sugi
parents:
diff changeset
92 }
cb825acd883a first commit
sugi
parents:
diff changeset
93