Exemple #1
0
def test_sigmerger_check_views():
    s1 = Signal(np.empty((5, 5)))
    s2 = Signal(np.empty((5, 5)))

    # compatible along first axis
    SigMerger.check_views([s1[:1], s1[1:]])

    # compatible along second axis
    SigMerger.check_views([s1[:1, :1], s1[:1, 1:]], axis=1)
    with pytest.raises(ValueError):
        SigMerger.check_views([s1[:1, :1], s1[:1, 1:]], axis=0)

    # shape mismatch
    with pytest.raises(ValueError):
        SigMerger.check_views([s1[:1], s1[1:, 0]])

    # different bases
    with pytest.raises(ValueError):
        SigMerger.check_views([s1[:2], s2[2:]])
Exemple #2
0
def test_sigmerger_check_views():
    s1 = Signal(np.empty((5, 5)))
    s2 = Signal(np.empty((5, 5)))

    # compatible along first axis
    SigMerger.check_views([s1[:1], s1[1:]])

    # compatible along second axis
    SigMerger.check_views([s1[:1, :1], s1[:1, 1:]], axis=1)
    with pytest.raises(ValueError):
        SigMerger.check_views([s1[:1, :1], s1[:1, 1:]], axis=0)

    # shape mismatch
    with pytest.raises(ValueError):
        SigMerger.check_views([s1[:1], s1[1:, 0]])

    # different bases
    with pytest.raises(ValueError):
        SigMerger.check_views([s1[:2], s2[2:]])
Exemple #3
0
def test_sigmerger_check_views():
    s1 = Signal(shape=(5, 5))
    s2 = Signal(shape=(5, 5))

    # compatible along first axis
    SigMerger.check_views([s1[:1], s1[1:]])

    # compatible along second axis
    SigMerger.check_views([s1[:1, :1], s1[:1, 1:]], axis=1)

    # non-views
    with pytest.raises(ValueError, match="Cannot merge non-views"):
        SigMerger.check_views([s1, s2])

    # different bases
    with pytest.raises(ValueError, match="must share the same base"):
        SigMerger.check_views([s1[:2], s2[2:]])

    # different ndims
    with pytest.raises(ValueError, match="must have the same number of dimensions"):
        SigMerger.check_views([s1[:1], s1[1:, 0]])

    # different strides
    with pytest.raises(ValueError, match="must have equal strides"):
        SigMerger.check_views([s1[::2], s1[::3]])

    # shape mismatch
    with pytest.raises(ValueError, match="must have same shape except on"):
        SigMerger.check_views([s1[:1, :1], s1[:1, 1:]], axis=0)

    # non-sequential
    with pytest.raises(ValueError, match="Views are not sequential"):
        SigMerger.check_views([s1[1:], s1[1:-1]])