def METHOD_NAME():
    # can create
    el = P3IntMoments(UFCInterval(), 3)
    # have expected number of nodes
    assert len(el.dual_basis()) == 4
    # dual eval gives expected values from sum of point evaluations
    fns = (lambda x: x[0], lambda x: x[0]**2)
    expected = ([0, 1, 1/2, 1/3], [0, 1, 1/3, 1/4])
    for fn, expect in zip(fns, expected):
        node_vals = []
        for node in el.dual_basis():
            pt_dict = node.pt_dict
            node_val = 0.0
            for pt in pt_dict:
                for (w, _) in pt_dict[pt]:
                    node_val += w * fn(pt)
            node_vals.append(node_val)
        assert np.allclose(node_vals, expect)