def test_save_load_zarr(self, tmpdir): img = ImageContainer(np.random.normal(size=(100, 100, 1))) img.data.attrs["scale"] = 42 img.save(Path(tmpdir) / "foo") img2 = ImageContainer.load(Path(tmpdir) / "foo") np.testing.assert_array_equal(img["image"].values, img2["image"].values) np.testing.assert_array_equal(img.data.dims, img2.data.dims) np.testing.assert_array_equal(sorted(img.data.attrs.keys()), sorted(img2.data.attrs.keys())) for k, v in img.data.attrs.items(): assert type(v) == type(img2.data.attrs[k]) # noqa: E721 assert v == img2.data.attrs[k]
def test_load_zarr_2_objects_can_overwrite_store(self, tmpdir): img = ImageContainer(np.random.normal(size=(100, 100, 1))) img.data.attrs["scale"] = 42 img.save(Path(tmpdir) / "foo") img2 = ImageContainer.load(Path(tmpdir) / "foo") img2.data.attrs["sentinel"] = "foobar" img2["image"].values += 42 img2.save(Path(tmpdir) / "foo") img3 = ImageContainer.load(Path(tmpdir) / "foo") assert "sentinel" in img3.data.attrs assert img3.data.attrs["sentinel"] == "foobar" np.testing.assert_array_equal(img3["image"].values, img2["image"].values) np.testing.assert_allclose(img3["image"].values - 42, img["image"].values)