@@ -30,6 +30,8 @@ public class FieldTest {
3030 private static final String FIELD_NAME1 = "StringField" ;
3131 private static final String FIELD_NAME2 = "IntegerField" ;
3232 private static final String FIELD_NAME3 = "RecordField" ;
33+ private static final String FIELD_NAME4 = "NullModeField" ;
34+ private static final String FIELD_NAME5 = "NullModeField2" ;
3335 private static final LegacySQLTypeName FIELD_TYPE1 = LegacySQLTypeName .STRING ;
3436 private static final LegacySQLTypeName FIELD_TYPE2 = LegacySQLTypeName .INTEGER ;
3537 private static final StandardSQLTypeName FIELD_TYPE1_STANDARD = StandardSQLTypeName .STRING ;
@@ -79,6 +81,10 @@ public class FieldTest {
7981 .setMode (FIELD_MODE3 )
8082 .setDescription (FIELD_DESCRIPTION3 )
8183 .build ();
84+ private static final Field STANDARD_FIELD_SCHEMA4 =
85+ Field .newBuilder (FIELD_NAME4 , StandardSQLTypeName .INT64 ).setMode (null ).build ();
86+ private static final Field STANDARD_FIELD_SCHEMA5 =
87+ Field .newBuilder (FIELD_NAME5 , StandardSQLTypeName .STRING ).build ();
8288
8389 @ Test
8490 public void testToBuilder () {
@@ -96,6 +102,8 @@ public void testToBuilderWithStandardSQLTypeName() {
96102 compareFieldSchemas (STANDARD_FIELD_SCHEMA1 , STANDARD_FIELD_SCHEMA1 .toBuilder ().build ());
97103 compareFieldSchemas (STANDARD_FIELD_SCHEMA2 , STANDARD_FIELD_SCHEMA2 .toBuilder ().build ());
98104 compareFieldSchemas (STANDARD_FIELD_SCHEMA3 , STANDARD_FIELD_SCHEMA3 .toBuilder ().build ());
105+ compareFieldSchemas (STANDARD_FIELD_SCHEMA4 , STANDARD_FIELD_SCHEMA4 .toBuilder ().build ());
106+ compareFieldSchemas (STANDARD_FIELD_SCHEMA5 , STANDARD_FIELD_SCHEMA5 .toBuilder ().build ());
99107 Field field = STANDARD_FIELD_SCHEMA1 .toBuilder ().setDescription ("New Description" ).build ();
100108 assertEquals ("New Description" , field .getDescription ());
101109 field = field .toBuilder ().setDescription (FIELD_DESCRIPTION1 ).build ();
@@ -162,6 +170,8 @@ public void testBuilderWithStandardSQLTypeName() {
162170 assertEquals (FIELD_TYPE3 , STANDARD_FIELD_SCHEMA3 .getType ());
163171 assertEquals (FIELD_MODE3 , STANDARD_FIELD_SCHEMA3 .getMode ());
164172 assertEquals (FIELD_DESCRIPTION3 , STANDARD_FIELD_SCHEMA3 .getDescription ());
173+ assertEquals (null , STANDARD_FIELD_SCHEMA4 .getMode ());
174+ assertEquals (null , STANDARD_FIELD_SCHEMA5 .getMode ());
165175 assertEquals (
166176 FieldList .of (STANDARD_FIELD_SCHEMA1 , STANDARD_FIELD_SCHEMA2 ),
167177 STANDARD_FIELD_SCHEMA3 .getSubFields ());
@@ -181,6 +191,8 @@ public void testToAndFromPbWithStandardSQLTypeName() {
181191 compareFieldSchemas (STANDARD_FIELD_SCHEMA1 , Field .fromPb (STANDARD_FIELD_SCHEMA1 .toPb ()));
182192 compareFieldSchemas (STANDARD_FIELD_SCHEMA2 , Field .fromPb (STANDARD_FIELD_SCHEMA2 .toPb ()));
183193 compareFieldSchemas (STANDARD_FIELD_SCHEMA3 , Field .fromPb (STANDARD_FIELD_SCHEMA3 .toPb ()));
194+ compareFieldSchemas (STANDARD_FIELD_SCHEMA4 , Field .fromPb (STANDARD_FIELD_SCHEMA4 .toPb ()));
195+ compareFieldSchemas (STANDARD_FIELD_SCHEMA5 , Field .fromPb (STANDARD_FIELD_SCHEMA5 .toPb ()));
184196 Field field = Field .newBuilder (FIELD_NAME1 , FIELD_TYPE1 ).build ();
185197 compareFieldSchemas (field , Field .fromPb (field .toPb ()));
186198 }
0 commit comments