From acb1ced630ede2a0b97adfac92e5b52df63e90b6 Mon Sep 17 00:00:00 2001 From: Jukka Aho Date: Sat, 9 May 2026 18:38:50 +0300 Subject: [PATCH] test(fields): add DOFSet field spec tests --- test/fields/test_field_specs.jl | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) create mode 100644 test/fields/test_field_specs.jl diff --git a/test/fields/test_field_specs.jl b/test/fields/test_field_specs.jl new file mode 100644 index 0000000..2199275 --- /dev/null +++ b/test/fields/test_field_specs.jl @@ -0,0 +1,28 @@ +# SPDX-FileCopyrightText: 2015-2026 Jukka Aho +# SPDX-License-Identifier: MIT + +using Test +using JuliaFEM +using Tensors + +@testset "DOFSet / field spec helpers" begin + S = @DOFSet{T::DOF{Temperature, Vertex}, u::DOF{Displacement{3}, Vertex}} + @test field_names(S) === (:T, :u) + @test field_count(S) == 2 + @test !is_single_field(S) + + S1 = @DOFSet{u::DOF{Displacement{3}, Vertex}} + @test is_single_field(S1) + + @test field_ndofs(DOF{Float64, Vertex}, Tetrahedron{4}) == 4 + @test ndofs(DOF{Float64, Vertex}, Tetrahedron{4}) == 4 + @test ndofs(S, Tetrahedron{4}) == 4 + 12 + + @test quantity_type(DOF{Float64, Vertex}) === Float64 + @test entity_type(DOF{Displacement{3}, Vertex}) === Vertex + + Bad = @NamedTuple{x::Int} + @test_throws ErrorException ndofs(Bad, Tetrahedron{4}) + + @test_throws ErrorException quantity_type(DOF{String, Vertex}) +end