11import  json 
22from  collections .abc  import  Iterator 
3- from  typing  import  Any 
3+ from  typing  import  Any ,  Literal 
44
55import  numcodecs .vlen 
66import  numpy  as  np 
@@ -126,15 +126,17 @@ async def test_create_dtype_str(dtype: Any) -> None:
126126
127127
128128@pytest .mark .parametrize ("filters" , [[], [numcodecs .Delta (dtype = "<i4" )], [numcodecs .Zlib (level = 2 )]]) 
129- def  test_v2_filters_codecs (filters : Any ) ->  None :
129+ @pytest .mark .parametrize ("order" , ["C" , "F" ]) 
130+ def  test_v2_filters_codecs (filters : Any , order : Literal ["C" , "F" ]) ->  None :
130131    array_fixture  =  [42 ]
131-     arr  =  zarr .create (shape = 1 , dtype = "<i4" , zarr_format = 2 , filters = filters )
132+     arr  =  zarr .create (shape = 1 , dtype = "<i4" , zarr_format = 2 , filters = filters ,  order = order )
132133    arr [:] =  array_fixture 
133134    result  =  arr [:]
134135    np .testing .assert_array_equal (result , array_fixture )
135136
136137
137- def  test_v2_non_contiguous () ->  None :
138+ @pytest .mark .parametrize ("order" , ["C" , "F" ]) 
139+ def  test_v2_non_contiguous (order : Literal ["C" , "F" ]) ->  None :
138140    arr  =  zarr .Array .create (
139141        MemoryStore ({}),
140142        shape = (10 , 8 ),
@@ -143,16 +145,22 @@ def test_v2_non_contiguous() -> None:
143145        dtype = "float64" ,
144146        zarr_format = 2 ,
145147        exists_ok = True ,
148+         order = order ,
146149    )
147-     a  =  np .ones (arr .shape )
150+     a  =  np .arange ( arr . shape [ 0 ]  *   arr . shape [ 1 ]). reshape (arr .shape )
148151    arr [slice (6 , 9 , None ), slice (3 , 6 , None )] =  a [
149152        slice (6 , 9 , None ), slice (3 , 6 , None )
150153    ]  # The slice on the RHS is important 
154+     np .testing .assert_array_equal (
155+         arr [slice (6 , 9 , None ), slice (3 , 6 , None )], a [slice (6 , 9 , None ), slice (3 , 6 , None )]
156+     )
151157
152-     a  =  np .ones ((3 , 3 ), order = "F" )
158+     a  =  np .arange ( 9 ). reshape ((3 , 3 ), order = "F" )
153159    assert  a .flags .f_contiguous 
154160    arr [slice (6 , 9 , None ), slice (3 , 6 , None )] =  a 
161+     np .testing .assert_array_equal (arr [slice (6 , 9 , None ), slice (3 , 6 , None )], a )
155162
156-     a  =  np .ones ((3 , 3 ), order = "C" )
163+     a  =  np .arange ( 9 ). reshape ((3 , 3 ), order = "C" )
157164    assert  a .flags .c_contiguous 
158165    arr [slice (6 , 9 , None ), slice (3 , 6 , None )] =  a 
166+     np .testing .assert_array_equal (arr [slice (6 , 9 , None ), slice (3 , 6 , None )], a )
0 commit comments