@@ -193,30 +193,36 @@ def test_accessor_to_kerchunk_parquet(self, tmp_path, array_v3_metadata):
193
193
}
194
194
195
195
196
- @pytest .mark .parametrize ("endian,expected_dtype_char" , [("little" , "<" ), ("big" , ">" )])
196
+ @pytest .mark .parametrize (
197
+ ["dtype" , "endian" , "expected_dtype_char" ],
198
+ [("i8" , "little" , "<" ), ("i8" , "big" , ">" ), ("i1" , None , "|" )],
199
+ )
197
200
def test_convert_v3_to_v2_metadata (
198
- array_v3_metadata , endian : str , expected_dtype_char : str
201
+ array_v3_metadata , dtype : str , endian : str | None , expected_dtype_char : str
199
202
):
200
203
shape = (5 , 20 )
201
204
chunks = (5 , 10 )
205
+
202
206
codecs = [
203
207
{"name" : "bytes" , "configuration" : {"endian" : endian }},
204
208
{
205
209
"name" : "numcodecs.delta" ,
206
- "configuration" : {"dtype" : f"{ expected_dtype_char } i8 " },
210
+ "configuration" : {"dtype" : f"{ expected_dtype_char } { dtype } " },
207
211
},
208
212
{
209
213
"name" : "numcodecs.blosc" ,
210
214
"configuration" : {"cname" : "zstd" , "clevel" : 5 , "shuffle" : 1 },
211
215
},
212
216
]
213
217
214
- v3_metadata = array_v3_metadata (shape = shape , chunks = chunks , codecs = codecs )
218
+ v3_metadata = array_v3_metadata (
219
+ data_type = np .dtype (dtype ), shape = shape , chunks = chunks , codecs = codecs
220
+ )
215
221
v2_metadata = convert_v3_to_v2_metadata (v3_metadata )
216
222
217
223
assert isinstance (v2_metadata , ArrayV2Metadata )
218
224
assert v2_metadata .shape == shape
219
- expected_dtype = np .dtype (f"{ expected_dtype_char } i4" ) # assuming int32
225
+ expected_dtype = np .dtype (f"{ expected_dtype_char } { dtype } " )
220
226
assert v2_metadata .dtype .to_native_dtype () == expected_dtype
221
227
assert v2_metadata .chunks == chunks
222
228
assert v2_metadata .fill_value == 0
@@ -232,7 +238,7 @@ def test_convert_v3_to_v2_metadata(
232
238
233
239
filters_config = filter_codec .get_config ()
234
240
assert filters_config ["id" ] == "delta"
235
- expected_delta_dtype = f"{ expected_dtype_char } i8 "
241
+ expected_delta_dtype = f"{ expected_dtype_char } { dtype } "
236
242
assert filters_config ["dtype" ] == expected_delta_dtype
237
243
assert filters_config ["astype" ] == expected_delta_dtype
238
244
assert v2_metadata .attributes == {}
0 commit comments