aboutsummaryrefslogtreecommitdiff
path: root/src/test/java/org/gnunet/construct/StringTest.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/java/org/gnunet/construct/StringTest.java')
-rw-r--r--src/test/java/org/gnunet/construct/StringTest.java50
1 files changed, 50 insertions, 0 deletions
diff --git a/src/test/java/org/gnunet/construct/StringTest.java b/src/test/java/org/gnunet/construct/StringTest.java
new file mode 100644
index 0000000..7dbedab
--- /dev/null
+++ b/src/test/java/org/gnunet/construct/StringTest.java
@@ -0,0 +1,50 @@
1package org.gnunet.construct;
2
3import org.junit.Assert;
4import org.junit.Test;
5
6/**
7 * ...
8 *
9 * @author Florian Dold
10 */
11public class StringTest {
12 public static class StrMsg implements Message {
13 @FrameSize
14 @UInt32
15 public int len;
16 @ZeroTerminatedString(optional = false)
17 public String str1;
18 @ZeroTerminatedString(optional = true)
19 public String str2;
20 }
21
22
23 @Test
24 public void test_empty() {
25 StrMsg m = new StrMsg();
26 m.str1 = "";
27 m.str2 = "";
28 Construct.patch(m);
29 byte[] data = Construct.toBinary(m);
30 Assert.assertEquals(4+1+1, data.length);
31 StrMsg m2 = Construct.parseAs(data, StrMsg.class);
32 Assert.assertEquals("", m2.str1);
33 Assert.assertEquals("", m2.str2);
34 }
35
36 @Test
37 public void test_null() {
38 StrMsg m = new StrMsg();
39 m.str1 = "";
40 m.str2 = null;
41 Construct.patch(m);
42 byte[] data = Construct.toBinary(m);
43 Assert.assertEquals(4+1, data.length);
44 Assert.assertEquals(4+1, m.len);
45 StrMsg m2 = Construct.parseAs(data, StrMsg.class);
46 Assert.assertEquals("", m2.str1);
47 Assert.assertEquals(null, m2.str2);
48 }
49}
50