def test_long():
    assert program.interleave([[1,0],[1,0],[1,0],[1,0]]) == [[1,1,1,1],[0,0,0,0]]
def test_repeat():
    assert program.interleave(program.interleave([[1,0,1]])) == [[1,0,1]]
def test_interleave_for_multiple():
    a = program.binary_matrix([[0,0,0,0,0,0,0],[1,1,1,1,1,1,1]])
    a_T = program.interleave(a)
    assert a_T == [[0,1],[0,1],[0,1],[0,1],[0,1],[0,1],[0,1]]
def test_interleave_for_one():
    a = program.binary_matrix([[0,0,0,0,0,0,0]])
    a_T = program.interleave(a)
    assert a_T == [[0],[0],[0],[0],[0],[0],[0]]
def test_two_rows():
    assert program.interleave([[1,0,1],[0,0,0]]) == [[1,0],[0,0],[1,0]]
def test_one_row():
    assert program.interleave([[1,0,1]]) == [[1],[0],[1]]