28 lines
731 B
Python
28 lines
731 B
Python
import pytest
|
|
|
|
from h5py import h5s, version
|
|
from h5py._selector import Selector
|
|
|
|
class Helper:
|
|
def __init__(self, shape: tuple):
|
|
self.shape = shape
|
|
|
|
def __getitem__(self, item) -> h5s.SpaceID:
|
|
if not isinstance(item, tuple):
|
|
item = (item,)
|
|
space = h5s.create_simple(self.shape)
|
|
sel = Selector(space)
|
|
sel.make_selection(item)
|
|
return space
|
|
|
|
|
|
@pytest.mark.skipif(version.hdf5_version_tuple < (1, 10, 7),
|
|
reason='H5Sselect_shape_same not available')
|
|
def test_same_shape():
|
|
s1 = Helper((5, 6))[:3, :4]
|
|
s2 = Helper((5, 6))[2:, 2:]
|
|
assert s1.select_shape_same(s2)
|
|
|
|
s3 = Helper((5, 6))[:4, :3]
|
|
assert not s1.select_shape_same(s3)
|