66
77from mindee import InferenceResponse
88from mindee .parsing .v2 .field import FieldConfidence , ListField , ObjectField , SimpleField
9+ from mindee .parsing .v2 .field .inference_fields import InferenceFields
910from mindee .parsing .v2 .inference import Inference
1011from mindee .parsing .v2 .inference_file import InferenceFile
1112from mindee .parsing .v2 .inference_model import InferenceModel
@@ -116,6 +117,14 @@ def test_standard_field_types():
116117 assert field_simple_string .confidence == FieldConfidence .CERTAIN
117118 assert str (field_simple_string ) == "field_simple_string-value"
118119
120+ field_simple_int = inference_result .inference .result .fields ["field_simple_int" ]
121+ assert isinstance (field_simple_int , SimpleField )
122+ assert isinstance (field_simple_int .value , float )
123+
124+ field_simple_float = inference_result .inference .result .fields ["field_simple_float" ]
125+ assert isinstance (field_simple_float , SimpleField )
126+ assert isinstance (field_simple_float .value , float )
127+
119128 field_simple_bool = inference_result .inference .result .fields ["field_simple_bool" ]
120129 assert isinstance (field_simple_bool , SimpleField )
121130 assert field_simple_bool .value is True
@@ -126,18 +135,55 @@ def test_standard_field_types():
126135 assert field_simple_null .value is None
127136 assert str (field_simple_null ) == ""
128137
129- assert isinstance (
130- inference_result .inference .result .fields ["field_object" ], ObjectField
131- )
132- assert isinstance (
133- inference_result .inference .result .fields ["field_simple_list" ], ListField
134- )
135- assert isinstance (
136- inference_result .inference .result .fields ["field_object_list" ], ListField
137- )
138138 assert rst_sample == str (inference_result )
139139
140140
141+ @pytest .mark .v2
142+ def test_standard_field_object ():
143+ json_sample , _ = _get_inference_samples ("standard_field_types" )
144+ inference_result = InferenceResponse (json_sample )
145+
146+ object_field = inference_result .inference .result .fields ["field_object" ]
147+ assert isinstance (object_field , ObjectField )
148+
149+ sub_fields = object_field .fields
150+ assert isinstance (sub_fields , InferenceFields )
151+ assert len (sub_fields ) == 2
152+
153+ subfield_1 = sub_fields ["subfield_1" ]
154+ assert isinstance (subfield_1 , SimpleField )
155+
156+ for field_name , sub_field in sub_fields .items ():
157+ assert field_name .startswith ("subfield_" )
158+ assert isinstance (sub_field , SimpleField )
159+
160+
161+ @pytest .mark .v2
162+ def test_standard_field_object_list ():
163+ json_sample , _ = _get_inference_samples ("standard_field_types" )
164+ inference_result = InferenceResponse (json_sample )
165+ assert isinstance (inference_result .inference , Inference )
166+
167+ field_object_list = inference_result .inference .result .fields ["field_object_list" ]
168+ assert isinstance (field_object_list , ListField )
169+ assert len (field_object_list .items ) == 2
170+ for object_field in field_object_list .object_items :
171+ assert isinstance (object_field , ObjectField )
172+
173+
174+ @pytest .mark .v2
175+ def test_standard_field_simple_list ():
176+ json_sample , _ = _get_inference_samples ("standard_field_types" )
177+ inference_result = InferenceResponse (json_sample )
178+ assert isinstance (inference_result .inference , Inference )
179+
180+ field_simple_list = inference_result .inference .result .fields ["field_simple_list" ]
181+ assert isinstance (field_simple_list , ListField )
182+ assert len (field_simple_list .simple_items ) == 2
183+ for object_field in field_simple_list .simple_items :
184+ assert isinstance (object_field , SimpleField )
185+
186+
141187@pytest .mark .v2
142188def test_raw_texts ():
143189 json_sample , rst_sample = _get_inference_samples ("raw_texts" )
@@ -159,18 +205,20 @@ def test_full_inference_response():
159205
160206 assert isinstance (inference_result .inference , Inference )
161207 assert inference_result .inference .id == "12345678-1234-1234-1234-123456789abc"
162- assert isinstance (inference_result .inference .result .fields . date , SimpleField )
208+ assert isinstance (inference_result .inference .result .fields [ " date" ] , SimpleField )
163209 assert inference_result .inference .result .fields ["date" ].value == "2019-11-02"
164- assert isinstance (inference_result .inference .result .fields . taxes , ListField )
210+ assert isinstance (inference_result .inference .result .fields [ " taxes" ] , ListField )
165211 assert isinstance (
166212 inference_result .inference .result .fields ["taxes" ].items [0 ], ObjectField
167213 )
168214 assert (
169- inference_result .inference .result .fields ["customer_address" ].fields .city .value
215+ inference_result .inference .result .fields ["customer_address" ]
216+ .fields ["city" ]
217+ .value
170218 == "New York"
171219 )
172220 assert (
173- inference_result .inference .result .fields . taxes .items [0 ].fields ["base" ].value
221+ inference_result .inference .result .fields [ " taxes" ] .items [0 ].fields ["base" ].value
174222 == 31.5
175223 )
176224
0 commit comments