Files
JuliaFEM.jl/test/assemblers/test_microkernel_formulations.jl
T

40 lines
1.2 KiB
Julia
Raw Normal View History

# This file is a part of JuliaFEM.
# License is MIT: see https://github.com/JuliaFEM/JuliaFEM.jl/blob/master/LICENSE.md
"""
Test microkernel utilities with Element{K,P,S}.
Tests helper functions that work with existing Element system.
No redundant FormulationSpec - just use Element{K,P,S} directly!
"""
using Test
using JuliaFEM
@testset "Field Type Extraction from Element{K,P,S}" begin
# Define multi-field specification
S = @DOFSet{T::DOF{Temperature,Vertex}, u::DOF{Displacement{3},Vertex}}
@test fieldnames(S) == (:T, :u)
# Extract field types for dispatch
field_T = field_type_for_dispatch(S, :T)
field_u = field_type_for_dispatch(S, :u)
@test field_T isa Temperature
@test field_u isa Displacement{3}
end
@testset "Type Aliases Work" begin
# Using the convenience alias
elem_type = Element{Tet4, Lagrange{1}, ThermoelasticityFields}
S = dof_type(elem_type)
@test fieldnames(S) == (:T, :u)
end
println("✓ All microkernel utilities tests passed!")
println(" - Field type extraction from Element{K,P,S} works")
println(" - Type aliases work")
println(" - No redundant abstractions - just use Element directly!")