@@ -61,6 +61,7 @@ public void setup() throws Exception
61
61
generator ().generate ();
62
62
}
63
63
64
+ @ SuppressWarnings ("MethodLength" )
64
65
@ Test
65
66
public void testMessage1 () throws Exception
66
67
{
@@ -81,6 +82,8 @@ public void testMessage1() throws Exception
81
82
final Object setEncoder = encoder .getClass ().getMethod ("tag5" ).invoke (encoder );
82
83
set (setEncoder , "firstChoice" , boolean .class , false );
83
84
set (setEncoder , "secondChoice" , boolean .class , true );
85
+
86
+ set (encoder , "tag6" , String .class , "This is some variable length data" );
84
87
}
85
88
86
89
{ // Decode version 0
@@ -90,12 +93,16 @@ public void testMessage1() throws Exception
90
93
assertNull (get (decoderVersion0 , "tag3" ));
91
94
assertThat (get (decoderVersion0 , "tag4" ).toString (), is ("NULL_VAL" ));
92
95
assertNull (get (decoderVersion0 , "tag5" ));
96
+ final StringBuilder tag6Value = new StringBuilder ();
97
+ get (decoderVersion0 , "tag6" , tag6Value );
98
+ assertThat (tag6Value .length (), is (0 ));
93
99
94
100
assertEquals (0 , decoderVersion0 .getClass ().getMethod ("tag1SinceVersion" ).invoke (null ));
95
101
assertEquals (1 , decoderVersion0 .getClass ().getMethod ("tag2SinceVersion" ).invoke (null ));
96
102
assertEquals (2 , decoderVersion0 .getClass ().getMethod ("tag3SinceVersion" ).invoke (null ));
97
103
assertEquals (3 , decoderVersion0 .getClass ().getMethod ("tag4SinceVersion" ).invoke (null ));
98
104
assertEquals (4 , decoderVersion0 .getClass ().getMethod ("tag5SinceVersion" ).invoke (null ));
105
+ assertEquals (5 , decoderVersion0 .getClass ().getMethod ("tag6SinceVersion" ).invoke (null ));
99
106
}
100
107
101
108
{ // Decode version 1
@@ -105,6 +112,9 @@ public void testMessage1() throws Exception
105
112
assertNull (get (decoderVersion1 , "tag3" ));
106
113
assertThat (get (decoderVersion1 , "tag4" ).toString (), is ("NULL_VAL" ));
107
114
assertNull (get (decoderVersion1 , "tag5" ));
115
+ final StringBuilder tag6Value = new StringBuilder ();
116
+ get (decoderVersion1 , "tag6" , tag6Value );
117
+ assertThat (tag6Value .length (), is (0 ));
108
118
}
109
119
110
120
{ // Decode version 2
@@ -116,6 +126,9 @@ public void testMessage1() throws Exception
116
126
assertEquals (300 , get (compositeDecoder2 , "value" ));
117
127
assertThat (get (decoderVersion2 , "tag4" ).toString (), is ("NULL_VAL" ));
118
128
assertNull (get (decoderVersion2 , "tag5" ));
129
+ final StringBuilder tag6Value = new StringBuilder ();
130
+ get (decoderVersion2 , "tag6" , tag6Value );
131
+ assertThat (tag6Value .length (), is (0 ));
119
132
}
120
133
121
134
{ // Decode version 3
@@ -128,6 +141,9 @@ public void testMessage1() throws Exception
128
141
final Object enumConstant = getAEnumConstant (decoderVersion3 , "AEnum" , 1 );
129
142
assertEquals (enumConstant , get (decoderVersion3 , "tag4" ));
130
143
assertNull (get (decoderVersion3 , "tag5" ));
144
+ final StringBuilder tag6Value = new StringBuilder ();
145
+ get (decoderVersion3 , "tag6" , tag6Value );
146
+ assertThat (tag6Value .length (), is (0 ));
131
147
}
132
148
133
149
{ // Decode version 4
@@ -143,6 +159,27 @@ public void testMessage1() throws Exception
143
159
assertNotNull (setDecoder );
144
160
assertEquals (false , get (setDecoder , "firstChoice" ));
145
161
assertEquals (true , get (setDecoder , "secondChoice" ));
162
+ final StringBuilder tag6Value = new StringBuilder ();
163
+ get (decoderVersion4 , "tag6" , tag6Value );
164
+ assertThat (tag6Value .length (), is (0 ));
165
+ }
166
+
167
+ { // Decode version 5
168
+ final Object decoderVersion5 = getMessage1Decoder (buffer , 14 , 5 );
169
+ assertEquals (100 , get (decoderVersion5 , "tag1" ));
170
+ assertEquals (200 , get (decoderVersion5 , "tag2" ));
171
+ final Object compositeDecoder4 = get (decoderVersion5 , "tag3" );
172
+ assertNotNull (compositeDecoder4 );
173
+ assertEquals (300 , get (compositeDecoder4 , "value" ));
174
+ final Object enumConstant = getAEnumConstant (decoderVersion5 , "AEnum" , 1 );
175
+ assertEquals (enumConstant , get (decoderVersion5 , "tag4" ));
176
+ final Object setDecoder = get (decoderVersion5 , "tag5" );
177
+ assertNotNull (setDecoder );
178
+ assertEquals (false , get (setDecoder , "firstChoice" ));
179
+ assertEquals (true , get (setDecoder , "secondChoice" ));
180
+ final StringBuilder tag6Value = new StringBuilder ();
181
+ get (decoderVersion5 , "tag6" , tag6Value );
182
+ assertThat (tag6Value .toString (), is ("This is some variable length data" ));
146
183
}
147
184
}
148
185
0 commit comments