def METHOD_NAME( ncells, degree ):
    domain   = [-1.0, 1.0]
    periodic = False
    poly_coeffs = np.random.random_sample( degree+1 ) # 0 <= c < 1
    poly_coeffs = 1.0 - poly_coeffs                   # 0 < c <= 1
    f = lambda x : horner( x, *poly_coeffs )
    grid  = random_grid( domain, ncells, 0.5 )
    space = SplineSpace( degree=degree, grid=grid, periodic=periodic )
    field = FemField( space )
    xg = space.greville
    ug = f( xg )
    space.compute_interpolant( ug, field )
    xt  = np.linspace( *domain, num=100 )
    err = np.array( [field( x ) - f( x ) for x in xt] )
    max_norm_err = np.max( abs( err ) )
    assert max_norm_err < 1.0e-13