Skip to content

Commit c19728c

Browse files
authored
✅ add unit tests related to the documentation (#259)
1 parent bf178f6 commit c19728c

File tree

1 file changed

+64
-10
lines changed

1 file changed

+64
-10
lines changed

src/test/java/com/mindee/parsing/v2/InferenceTest.java

Lines changed: 64 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
package com.mindee.parsing.v2;
22

3-
import com.mindee.MindeeClientV2;
43
import com.mindee.input.LocalResponse;
54
import com.mindee.parsing.v2.field.*;
65
import com.mindee.parsing.v2.field.DynamicField.FieldType;
76
import java.io.IOException;
87
import java.util.List;
98
import java.util.Map;
109
import java.util.Objects;
11-
1210
import org.apache.commons.io.IOUtils;
1311
import org.junit.jupiter.api.DisplayName;
1412
import org.junit.jupiter.api.Nested;
@@ -185,15 +183,71 @@ class StandardFieldTypes {
185183
@Test
186184
@DisplayName("simple / object / list variants must be recognised")
187185
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+
}
191228

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+
}
197251
}
198252
}
199253

0 commit comments

Comments
 (0)