mirror of
https://github.com/JuliaFEM/JuliaFEM.jl.git
synced 2026-08-06 04:21:33 +00:00
test(basis): add basis metadata description tests
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
# SPDX-FileCopyrightText: 2015-2026 Jukka Aho
|
||||
# SPDX-License-Identifier: MIT
|
||||
|
||||
using Test
|
||||
using JuliaFEM
|
||||
using Tensors
|
||||
|
||||
struct _CoverageDummyBasis <: AbstractBasis end
|
||||
|
||||
@testset "Basis description API" begin
|
||||
desc = JuliaFEM.VandermondeBasisDescription(
|
||||
name="unit-test",
|
||||
description="coverage",
|
||||
topology=Triangle{3},
|
||||
family=Lagrange{1},
|
||||
ansatz=(),
|
||||
)
|
||||
@test JuliaFEM.basis_family(desc) === Lagrange{1}
|
||||
@test JuliaFEM.basis_topology(desc) === Triangle{3}
|
||||
@test JuliaFEM.basis_order(desc) === 1
|
||||
|
||||
desc_s = JuliaFEM.VandermondeBasisDescription(
|
||||
name="ser",
|
||||
description="coverage",
|
||||
topology=Quadrilateral{4},
|
||||
family=Serendipity{2},
|
||||
ansatz=(),
|
||||
)
|
||||
@test JuliaFEM.basis_order(desc_s) === 2
|
||||
|
||||
desc_bad = JuliaFEM.VandermondeBasisDescription(
|
||||
name="bad",
|
||||
description="coverage",
|
||||
topology=Triangle{3},
|
||||
family=_CoverageDummyBasis,
|
||||
ansatz=(),
|
||||
)
|
||||
@test_throws ErrorException JuliaFEM.basis_order(desc_bad)
|
||||
|
||||
xi = Vec{2}((0.2, 0.25))
|
||||
tri = Triangle{3}()
|
||||
lag = Lagrange{1}()
|
||||
vals = get_basis_functions(tri, lag, xi)
|
||||
dvals = get_basis_derivatives(tri, lag, xi)
|
||||
@test get_basis_function(tri, lag, xi, 1) == vals[1]
|
||||
@test get_basis_derivative(tri, lag, xi, 2) == dvals[2]
|
||||
end
|
||||
Reference in New Issue
Block a user