summaryrefslogtreecommitdiffstats
path: root/simple/simple-common/src/test/java/org/simpleframework/common/buffer/ArrayBufferTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'simple/simple-common/src/test/java/org/simpleframework/common/buffer/ArrayBufferTest.java')
-rw-r--r--simple/simple-common/src/test/java/org/simpleframework/common/buffer/ArrayBufferTest.java54
1 files changed, 54 insertions, 0 deletions
diff --git a/simple/simple-common/src/test/java/org/simpleframework/common/buffer/ArrayBufferTest.java b/simple/simple-common/src/test/java/org/simpleframework/common/buffer/ArrayBufferTest.java
new file mode 100644
index 0000000..1f6f494
--- /dev/null
+++ b/simple/simple-common/src/test/java/org/simpleframework/common/buffer/ArrayBufferTest.java
@@ -0,0 +1,54 @@
+package org.simpleframework.common.buffer;
+
+import org.simpleframework.common.buffer.ArrayBuffer;
+import org.simpleframework.common.buffer.Buffer;
+
+import junit.framework.TestCase;
+
+public class ArrayBufferTest extends TestCase {
+
+ public void testBuffer() throws Exception {
+ Buffer buffer = new ArrayBuffer(1, 2);
+
+ buffer.append(new byte[]{'a'}).append(new byte[]{'b'});
+
+ assertEquals(buffer.encode(), "ab");
+ assertEquals(buffer.encode("ISO-8859-1"), "ab");
+
+ boolean overflow = false;
+
+ try {
+ buffer.append(new byte[]{'c'});
+ } catch(Exception e) {
+ overflow = true;
+ }
+ assertTrue(overflow);
+
+ buffer.clear();
+
+ assertEquals(buffer.encode(), "");
+ assertEquals(buffer.encode("UTF-8"), "");
+
+ buffer = new ArrayBuffer(1024, 2048);
+ buffer.append("abcdefghijklmnopqrstuvwxyz".getBytes());
+
+ Buffer alphabet = buffer.allocate();
+ alphabet.append("ABCDEFGHIJKLMNOPQRSTUVWXYZ".getBytes());
+
+ Buffer digits = buffer.allocate();
+ digits.append("0123456789".getBytes());
+
+ assertEquals(alphabet.encode(), "ABCDEFGHIJKLMNOPQRSTUVWXYZ");
+ assertEquals(digits.encode(), "0123456789");
+ assertEquals(buffer.encode(), "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789");
+
+ Buffer extra = digits.allocate();
+ extra.append("#@?".getBytes());
+
+ assertEquals(extra.encode(), "#@?");
+ assertEquals(digits.encode(), "0123456789#@?");
+ assertEquals(buffer.encode(), "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789#@?");
+ assertEquals(buffer.length(), 65);
+ }
+
+}