Esempio n. 1
0
def test_slice_shapes():
    axes = d_arr.axes
    s_all = stuple( ( slice(None), )*len(axes), axes=axes )

    sub_arr = d_arr[ s_all.u[0].v[1] ]
    exp_shape = d_arr.shape[:2]
    yield assert_true,sub_arr.shape==exp_shape,'wrong slice shape'

    dt = d_arr.T
    # have to recreate stuple slicer with refs to new Axis objects..
    # this will obviously be part of the DataArray construction later
    s_all = stuple( ( slice(None), )*len(axes), axes=dt.axes )

    sub_arr = dt[ s_all.u[0].v[1] ]
    yield assert_true,sub_arr.shape==exp_shape[::-1],'wrong slice shape in transpose'
Esempio n. 2
0
def test_slicing_behavior():
    axes = d_arr.axes
    s_anon = stuple( ( slice(None), )*len(axes), axes=axes )
    sx = s_anon.x[::2]
    yield assert_true, sx == (slice(None,None,2),) + (slice(None),)*3
    # now, since sx is not registered with an axis,
    # it slices as a tuple (not a stuple)
    yield assert_true, sx[0] == slice(None,None,2)
Esempio n. 3
0
def test_slice_op():
    axes = d_arr.axes
    s_all = stuple( ( slice(None), )*len(axes), axes=axes )

    sub_arr = d_arr[ s_all.u[0].v[1] ]
    yield assert_true, (sub_arr == d_arr[:,:,0,1]).all()

    sub_arr = d_arr[ s_all.x[::2].u[::-1] ]
    yield assert_true, (sub_arr == d_arr[::2,:,::-1,:]).all()
Esempio n. 4
0
def test_stuple_slices_ndarray():
    # THIS FAILS, BUT WHY??
    axes = d_arr.axes
    s_all = stuple( ( slice(None), )*len(axes), axes=axes )

    try:
        b = (np.asarray(d_arr)[s_all]==np.asarray(d_arr)).all()
        yield assert_true, b
    except:
        yield assert_true, False, 'stuple does not slice a vanilla ndarray'
Esempio n. 5
0
def test_slicing_exception2():
    axes = d_arr.axes
    s_anon = stuple( ( slice(None), )*len(axes), axes=axes )
    s_x = s_anon.x[::2]
    # now, the x-axis has already been sliced, and cannot be sliced again
    s_x.x[0]
Esempio n. 6
0
def test_a_stuple_is_a_tuple():
    s = stuple( (1,2,3,4) )
    yield assert_true, s == (1,2,3,4)