diff options
Diffstat (limited to 'src/test/java/org/gnunet/construct/StringTest.java')
-rw-r--r-- | src/test/java/org/gnunet/construct/StringTest.java | 50 |
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 @@ | |||
1 | package org.gnunet.construct; | ||
2 | |||
3 | import org.junit.Assert; | ||
4 | import org.junit.Test; | ||
5 | |||
6 | /** | ||
7 | * ... | ||
8 | * | ||
9 | * @author Florian Dold | ||
10 | */ | ||
11 | public 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 | |||