@@ -30,6 +30,8 @@ public class FieldTest {
30
30
private static final String FIELD_NAME1 = "StringField" ;
31
31
private static final String FIELD_NAME2 = "IntegerField" ;
32
32
private static final String FIELD_NAME3 = "RecordField" ;
33
+ private static final String FIELD_NAME4 = "NullModeField" ;
34
+ private static final String FIELD_NAME5 = "NullModeField2" ;
33
35
private static final LegacySQLTypeName FIELD_TYPE1 = LegacySQLTypeName .STRING ;
34
36
private static final LegacySQLTypeName FIELD_TYPE2 = LegacySQLTypeName .INTEGER ;
35
37
private static final StandardSQLTypeName FIELD_TYPE1_STANDARD = StandardSQLTypeName .STRING ;
@@ -79,6 +81,10 @@ public class FieldTest {
79
81
.setMode (FIELD_MODE3 )
80
82
.setDescription (FIELD_DESCRIPTION3 )
81
83
.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 ();
82
88
83
89
@ Test
84
90
public void testToBuilder () {
@@ -96,6 +102,8 @@ public void testToBuilderWithStandardSQLTypeName() {
96
102
compareFieldSchemas (STANDARD_FIELD_SCHEMA1 , STANDARD_FIELD_SCHEMA1 .toBuilder ().build ());
97
103
compareFieldSchemas (STANDARD_FIELD_SCHEMA2 , STANDARD_FIELD_SCHEMA2 .toBuilder ().build ());
98
104
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 ());
99
107
Field field = STANDARD_FIELD_SCHEMA1 .toBuilder ().setDescription ("New Description" ).build ();
100
108
assertEquals ("New Description" , field .getDescription ());
101
109
field = field .toBuilder ().setDescription (FIELD_DESCRIPTION1 ).build ();
@@ -162,6 +170,8 @@ public void testBuilderWithStandardSQLTypeName() {
162
170
assertEquals (FIELD_TYPE3 , STANDARD_FIELD_SCHEMA3 .getType ());
163
171
assertEquals (FIELD_MODE3 , STANDARD_FIELD_SCHEMA3 .getMode ());
164
172
assertEquals (FIELD_DESCRIPTION3 , STANDARD_FIELD_SCHEMA3 .getDescription ());
173
+ assertEquals (null , STANDARD_FIELD_SCHEMA4 .getMode ());
174
+ assertEquals (null , STANDARD_FIELD_SCHEMA5 .getMode ());
165
175
assertEquals (
166
176
FieldList .of (STANDARD_FIELD_SCHEMA1 , STANDARD_FIELD_SCHEMA2 ),
167
177
STANDARD_FIELD_SCHEMA3 .getSubFields ());
@@ -181,6 +191,8 @@ public void testToAndFromPbWithStandardSQLTypeName() {
181
191
compareFieldSchemas (STANDARD_FIELD_SCHEMA1 , Field .fromPb (STANDARD_FIELD_SCHEMA1 .toPb ()));
182
192
compareFieldSchemas (STANDARD_FIELD_SCHEMA2 , Field .fromPb (STANDARD_FIELD_SCHEMA2 .toPb ()));
183
193
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 ()));
184
196
Field field = Field .newBuilder (FIELD_NAME1 , FIELD_TYPE1 ).build ();
185
197
compareFieldSchemas (field , Field .fromPb (field .toPb ()));
186
198
}
0 commit comments