def test_empty_bubble(): "Check that bubble of too low degree fails" with pytest.raises(RuntimeError): Bubble(I, 1) with pytest.raises(RuntimeError): Bubble(T, 2) with pytest.raises(RuntimeError): Bubble(S, 3)
# Get coeffs of primal and dual bases w.r.t. expansion set coeffs_poly = poly_set.get_coeffs() coeffs_dual = dual_set.to_riesz(poly_set) assert coeffs_poly.shape == coeffs_dual.shape # Check nodality for i in range(coeffs_dual.shape[0]): for j in range(coeffs_poly.shape[0]): assert np.isclose( coeffs_dual[i].flatten().dot(coeffs_poly[j].flatten()), 1.0 if i == j else 0.0) @pytest.mark.parametrize('elements', [ (Lagrange(I, 2), Bubble(I, 2)), (Lagrange(T, 3), Bubble(T, 3)), (Lagrange(S, 4), Bubble(S, 4)), (Lagrange(I, 1), Lagrange(I, 1)), (Lagrange(I, 1), Bubble(I, 2), Bubble(I, 2)), ]) def test_illposed_nodal_enriched(elements): """Check that nodal enriched element fails on ill-posed (non-unisolvent) case """ with pytest.raises(np.linalg.LinAlgError): NodalEnrichedElement(*elements) def test_empty_bubble(): "Check that bubble of too low degree fails"