|
1 | 1 | package com.mindee.parsing.v2; |
2 | 2 |
|
3 | | -import com.mindee.MindeeClientV2; |
4 | 3 | import com.mindee.input.LocalResponse; |
5 | 4 | import com.mindee.parsing.v2.field.*; |
6 | 5 | import com.mindee.parsing.v2.field.DynamicField.FieldType; |
7 | 6 | import java.io.IOException; |
8 | 7 | import java.util.List; |
9 | 8 | import java.util.Map; |
10 | 9 | import java.util.Objects; |
11 | | - |
12 | 10 | import org.apache.commons.io.IOUtils; |
13 | 11 | import org.junit.jupiter.api.DisplayName; |
14 | 12 | import org.junit.jupiter.api.Nested; |
@@ -185,15 +183,71 @@ class StandardFieldTypes { |
185 | 183 | @Test |
186 | 184 | @DisplayName("simple / object / list variants must be recognised") |
187 | 185 | void standardFieldTypes_mustExposeCorrectTypes() throws IOException { |
188 | | - InferenceResponse resp = loadFromResource("v2/inference/standard_field_types.json"); |
189 | | - Inference inf = resp.getInference(); |
190 | | - assertNotNull(inf); |
| 186 | + InferenceResponse response = loadFromResource("v2/inference/standard_field_types.json"); |
| 187 | + Inference inference = response.getInference(); |
| 188 | + assertNotNull(inference); |
| 189 | + |
| 190 | + InferenceFields fields = inference.getResult().getFields(); |
| 191 | + |
| 192 | + assertNotNull(fields.get("field_simple_string").getSimpleField()); |
| 193 | + |
| 194 | + SimpleField fieldSimpleString = fields.get("field_simple_string").getSimpleField(); |
| 195 | + assertNotNull(fieldSimpleString); |
| 196 | + assertInstanceOf(String.class, fieldSimpleString.getValue()); |
| 197 | + |
| 198 | + SimpleField fieldSimpleFloat = fields.get("field_simple_float").getSimpleField(); |
| 199 | + assertNotNull(fieldSimpleFloat); |
| 200 | + assertInstanceOf(Double.class, fieldSimpleFloat.getValue()); |
| 201 | + |
| 202 | + SimpleField fieldSimpleInt = fields.get("field_simple_int").getSimpleField(); |
| 203 | + assertNotNull(fieldSimpleInt); |
| 204 | + assertInstanceOf(Double.class, fieldSimpleInt.getValue()); |
| 205 | + |
| 206 | + SimpleField fieldSimpleZero = fields.get("field_simple_zero").getSimpleField(); |
| 207 | + assertNotNull(fieldSimpleZero); |
| 208 | + assertInstanceOf(Double.class, fieldSimpleZero.getValue()); |
| 209 | + |
| 210 | + SimpleField fieldSimpleBool = fields.get("field_simple_bool").getSimpleField(); |
| 211 | + assertNotNull(fieldSimpleBool); |
| 212 | + assertInstanceOf(Boolean.class, fieldSimpleBool.getValue()); |
| 213 | + |
| 214 | + SimpleField fieldSimpleNull = fields.get("field_simple_null").getSimpleField(); |
| 215 | + assertNotNull(fieldSimpleNull); |
| 216 | + assertNull(fieldSimpleNull.getValue()); |
| 217 | + |
| 218 | + ListField fieldSimpleList = fields.get("field_simple_list").getListField(); |
| 219 | + assertNotNull(fieldSimpleList); |
| 220 | + List<DynamicField> simpleItems = fieldSimpleList.getItems(); |
| 221 | + assertEquals(2, simpleItems.size()); |
| 222 | + SimpleField firstSimpleItem = simpleItems.get(0).getSimpleField(); |
| 223 | + assertNotNull(firstSimpleItem); |
| 224 | + assertInstanceOf(String.class, firstSimpleItem.getValue()); |
| 225 | + for (DynamicField item : fieldSimpleList.getItems()) { |
| 226 | + assertInstanceOf(String.class, item.getSimpleField().getValue()); |
| 227 | + } |
191 | 228 |
|
192 | | - InferenceFields root = inf.getResult().getFields(); |
193 | | - assertNotNull(root.get("field_simple_string").getSimpleField()); |
194 | | - assertNotNull(root.get("field_object").getObjectField()); |
195 | | - assertNotNull(root.get("field_simple_list").getListField()); |
196 | | - assertNotNull(root.get("field_object_list").getListField()); |
| 229 | + ObjectField fieldObject = fields.get("field_object").getObjectField(); |
| 230 | + assertNotNull(fieldObject); |
| 231 | + InferenceFields fieldObjectFields = fieldObject.getFields(); |
| 232 | + assertEquals(2, fieldObjectFields.size()); |
| 233 | + assertInstanceOf(String.class, fieldObjectFields.get("subfield_1").getSimpleField().getValue()); |
| 234 | + |
| 235 | + ListField fieldObjectList = fields.get("field_object_list").getListField(); |
| 236 | + assertNotNull(fieldObjectList); |
| 237 | + List<DynamicField> objectItems = fieldObjectList.getItems(); |
| 238 | + assertEquals(2, objectItems.size()); |
| 239 | + ObjectField firstObjectItem = objectItems.get(0).getObjectField(); |
| 240 | + assertNotNull(firstObjectItem); |
| 241 | + assertInstanceOf( |
| 242 | + String.class, |
| 243 | + firstObjectItem.getFields().get("subfield_1").getSimpleField().getValue() |
| 244 | + ); |
| 245 | + for (DynamicField item : fieldObjectList.getItems()) { |
| 246 | + assertInstanceOf( |
| 247 | + String.class, |
| 248 | + item.getObjectField().getFields().get("subfield_1").getSimpleField().getValue() |
| 249 | + ); |
| 250 | + } |
197 | 251 | } |
198 | 252 | } |
199 | 253 |
|
|
0 commit comments