11from __future__ import annotations
22
3- from collections . abc import MutableMapping
3+ from typing import Any
44
55import pytest
66
1010from zarr .testing .store import StoreTests
1111
1212
13- @pytest .mark .parametrize ("store_dict" , (None , {}))
1413class TestMemoryStore (StoreTests [MemoryStore ]):
1514 store_cls = MemoryStore
1615
@@ -20,21 +19,25 @@ def set(self, store: MemoryStore, key: str, value: Buffer) -> None:
2019 def get (self , store : MemoryStore , key : str ) -> Buffer :
2120 return store ._store_dict [key ]
2221
22+ @pytest .fixture (scope = "function" , params = [None , {}])
23+ def store_kwargs (self , request ) -> dict [str , Any ]:
24+ return {"store_dict" : request .param , "mode" : "w" }
25+
2326 @pytest .fixture (scope = "function" )
24- def store (self , store_dict : MutableMapping [str , Buffer ] | None ) :
25- return MemoryStore ( store_dict = store_dict )
27+ def store (self , store_kwargs : dict [str , Any ]) -> MemoryStore :
28+ return self . store_cls ( ** store_kwargs )
2629
2730 def test_store_repr (self , store : MemoryStore ) -> None :
2831 assert str (store ) == f"memory://{ id (store ._store_dict )} "
2932
3033 def test_store_supports_writes (self , store : MemoryStore ) -> None :
31- assert True
34+ assert store . supports_writes
3235
3336 def test_store_supports_listing (self , store : MemoryStore ) -> None :
34- assert True
37+ assert store . supports_listing
3538
3639 def test_store_supports_partial_writes (self , store : MemoryStore ) -> None :
37- assert True
40+ assert store . supports_partial_writes
3841
3942 def test_list_prefix (self , store : MemoryStore ) -> None :
4043 assert True
@@ -52,21 +55,21 @@ def set(self, store: LocalStore, key: str, value: Buffer) -> None:
5255 parent .mkdir (parents = True )
5356 (store .root / key ).write_bytes (value .to_bytes ())
5457
55- @pytest .fixture ( scope = "function" )
56- def store (self , tmpdir ) -> LocalStore :
57- return self . store_cls ( str (tmpdir ))
58+ @pytest .fixture
59+ def store_kwargs (self , tmpdir ) -> dict [ str , str ] :
60+ return { "root" : str (tmpdir ), "mode" : "w" }
5861
5962 def test_store_repr (self , store : LocalStore ) -> None :
6063 assert str (store ) == f"file://{ store .root !s} "
6164
6265 def test_store_supports_writes (self , store : LocalStore ) -> None :
63- assert True
66+ assert store . supports_writes
6467
6568 def test_store_supports_partial_writes (self , store : LocalStore ) -> None :
66- assert True
69+ assert store . supports_partial_writes
6770
6871 def test_store_supports_listing (self , store : LocalStore ) -> None :
69- assert True
72+ assert store . supports_listing
7073
7174 def test_list_prefix (self , store : LocalStore ) -> None :
7275 assert True
0 commit comments