def METHOD_NAME(V):
    # Solve vector laplacian with different boundary conditions on the
    # x and y components, giving effectively two decoupled Poisson
    # problems in the two components
    g = Function(V)
    f = Constant((0, 0))
    bcs = [DirichletBC(V.sub(0), 0, 1),
           DirichletBC(V.sub(0), 42, 2),
           DirichletBC(V.sub(1), 10, 3),
           DirichletBC(V.sub(1), 15, 4)]
    u = TrialFunction(V)
    v = TestFunction(V)
    a = inner(grad(u), grad(v))*dx
    L = inner(f, v)*dx
    solve(a == L, g, bcs=bcs)
    expect = Function(V)
    x = SpatialCoordinate(V.mesh())
    expect.interpolate(as_vector((42*x[0], 5*x[1] + 10)))
    assert np.allclose(g.dat.data, expect.dat.data)