def test_padding1():
    padding = PadOperator(left=1,right=20)
    a = np.arange(10*15).reshape((10,15))
    b = padding(a)
    assert b.shape == (10,36)
    assert_equal(b[:,0:1], 0)
    assert_equal(b[:,1:16], a)
    assert_equal(b[:,16:], 0)
    shapein = (10,15)
    shapeout = (10,15+1+20)
    assert_equal(padding.T.todense(shapeout), padding.todense(shapein).T)
def test_padding2():
    padding = PadOperator(left=1,right=(4,20), partitionin=(12,3))
    a = np.arange(10*15).reshape((10,15))
    b = padding(a)
    assert b.shape == (10,41)
    assert_equal(b[:,0:1], 0)
    assert_equal(b[:,1:13], a[:,0:12])
    assert_equal(b[:,13:17], 0)
    assert_equal(b[:,17:18], 0)
    assert_equal(b[:,18:21], a[:,12:])
    assert_equal(b[:,21:], 0)
    shapein = (10,15)
    shapeout = (10,(12+1+4)+(3+1+20))
    assert_equal(padding.T.todense(shapeout), padding.todense(shapein).T)