@@ -142,6 +142,46 @@ void should_have_empty_optional_on_no_data() {
142142 assertThat (message .getOptionalSubMessage ()).isEmpty ();
143143 }
144144
145+ @ Test
146+ void should_have_optional_populated_with_field_data_in_builder () {
147+ TestMessage .Builder builder = populatedTestMessage ();
148+
149+ assertThat (builder .getOptionalOneofString ()).contains ("one-of" );
150+ assertThat (builder .getOptionalOptionalBool ()).contains (true );
151+ assertThat (builder .getOptionalOptionalString ()).contains ("opt-string" );
152+ assertThat (builder .getOptionalOptionalBytes ()).contains (ByteString .copyFromUtf8 ("opt-bytes" ));
153+ assertThat (builder .getOptionalOptionalEnum ()).contains (TestEnum .value1 );
154+ assertThat (builder .getOptionalOptionalFloat ()).contains (3.5F );
155+ assertThat (builder .getOptionalOptionalDouble ()).contains (3.5D );
156+ assertThat (builder .getOptionalOptionalFixed32 ()).contains (10 );
157+ assertThat (builder .getOptionalOptionalFixed64 ()).contains (10L );
158+ assertThat (builder .getOptionalOptionalInt32 ()).contains (10 );
159+ assertThat (builder .getOptionalOptionalInt64 ()).contains (10L );
160+ assertThat (builder .getOptionalOptionalUint32 ()).contains (10 );
161+ assertThat (builder .getOptionalOptionalUint64 ()).contains (10L );
162+ assertThat (builder .getOptionalSubMessage ()).contains (TestSubMessage .newBuilder ().setString ("value" ).build ());
163+ }
164+
165+ @ Test
166+ void should_have_empty_optional_on_no_data_in_builder () {
167+ TestMessage .Builder builder = TestMessage .newBuilder ();
168+
169+ assertThat (builder .getOptionalOneofString ()).isEmpty ();
170+ assertThat (builder .getOptionalOptionalBool ()).isEmpty ();
171+ assertThat (builder .getOptionalOptionalString ()).isEmpty ();
172+ assertThat (builder .getOptionalOptionalBytes ()).isEmpty ();
173+ assertThat (builder .getOptionalOptionalEnum ()).isEmpty ();
174+ assertThat (builder .getOptionalOptionalFloat ()).isEmpty ();
175+ assertThat (builder .getOptionalOptionalDouble ()).isEmpty ();
176+ assertThat (builder .getOptionalOptionalFixed32 ()).isEmpty ();
177+ assertThat (builder .getOptionalOptionalFixed64 ()).isEmpty ();
178+ assertThat (builder .getOptionalOptionalInt32 ()).isEmpty ();
179+ assertThat (builder .getOptionalOptionalInt64 ()).isEmpty ();
180+ assertThat (builder .getOptionalOptionalUint32 ()).isEmpty ();
181+ assertThat (builder .getOptionalOptionalUint64 ()).isEmpty ();
182+ assertThat (builder .getOptionalSubMessage ()).isEmpty ();
183+ }
184+
145185 private static TestMessage .Builder populatedTestMessage () {
146186 return TestMessage .newBuilder ()
147187 .setOneofString ("one-of" )
0 commit comments