diff --git a/src/zarr/store/memory.py b/src/zarr/store/memory.py index e0e72b1827..4f2627bf67 100644 --- a/src/zarr/store/memory.py +++ b/src/zarr/store/memory.py @@ -30,7 +30,9 @@ def __init__( mode: AccessModeLiteral = "r", ): super().__init__(mode=mode) - self._store_dict = store_dict or {} + if store_dict is None: + store_dict = {} + self._store_dict = store_dict async def empty(self) -> bool: return not self._store_dict diff --git a/tests/v3/test_store/test_memory.py b/tests/v3/test_store/test_memory.py index f76423c631..e64f93ad95 100644 --- a/tests/v3/test_store/test_memory.py +++ b/tests/v3/test_store/test_memory.py @@ -18,11 +18,14 @@ def set(self, store: MemoryStore, key: str, value: Buffer) -> None: def get(self, store: MemoryStore, key: str) -> Buffer: return store._store_dict[key] - @pytest.fixture(scope="function", params=[None, {}]) + @pytest.fixture(scope="function", params=[None, True]) def store_kwargs( self, request: pytest.FixtureRequest ) -> dict[str, str | None | dict[str, Buffer]]: - return {"store_dict": request.param, "mode": "r+"} + kwargs = {"store_dict": None, "mode": "r+"} + if request.param is True: + kwargs["store_dict"] = {} + return kwargs @pytest.fixture(scope="function") def store(self, store_kwargs: str | None | dict[str, Buffer]) -> MemoryStore: @@ -77,3 +80,9 @@ def test_store_supports_partial_writes(self, store: GpuMemoryStore) -> None: def test_list_prefix(self, store: GpuMemoryStore) -> None: assert True + + +def test_uses_dict(): + store_dict = {} + store = MemoryStore(store_dict) + assert store._store_dict is store_dict