def test_two_blocks_with_restriction(mesh, restriction, FunctionSpaces):
    (FunctionSpace1, FunctionSpace2) = FunctionSpaces
    V1 = FunctionSpace1(mesh)
    V2 = FunctionSpace2(mesh)
    block_V = BlockFunctionSpace([V1, V2], restrict=restriction)
    functions = get_list_of_functions_2(block_V)
    assert_functions_manipulations(functions, block_V)
def test_single_block_with_restriction(mesh, restriction, FunctionSpace):
    V = FunctionSpace(mesh)
    block_V = BlockFunctionSpace([V], restrict=[restriction])
    functions = get_list_of_functions_1(block_V)
    assert_functions_manipulations(functions, block_V)