Skip to content

Commit 14a812e

Browse files
committed
Test default behavior of type utils
1 parent c9723d6 commit 14a812e

File tree

1 file changed

+8
-0
lines changed

1 file changed

+8
-0
lines changed

test/unittests.jl

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -519,6 +519,13 @@ end
519519
@test typeof(MyDimensions(1, 1, 1)) == MyDimensions{Int}
520520
@test typeof(MyDimensions{Float64}(1, 1, 1)) == MyDimensions{Float64}
521521

522+
# Can use the default constructorof, with_type_parameters, and dimension_names:
523+
@test DynamicQuantities.constructorof(MyDimensions{Float64}) == MyDimensions
524+
@test DynamicQuantities.constructorof(MyQuantity{Float64}) == MyQuantity
525+
@test DynamicQuantities.with_type_parameters(MyDimensions{Float64}, Rational{Int}) == MyDimensions{Rational{Int}}
526+
@test DynamicQuantities.with_type_parameters(MyQuantity{Float64,DEFAULT_DIM_TYPE}, Float32, MyDimensions{Float64}) == MyQuantity{Float32,MyDimensions{Float64}}
527+
@test DynamicQuantities.dimension_names(MyDimensions{Float64}) == (:length, :mass, :time)
528+
522529
# But, we always need to use a quantity when mixing with mathematical operations:
523530
@test_throws ErrorException MyQuantity(0.1) + 0.1 * MyDimensions()
524531
end
@@ -625,6 +632,7 @@ end
625632
y = 0.5us"km/s"
626633
qa = [x, y]
627634
@test qa isa Vector{Quantity{Float64,SymbolicDimensions{Rational{Int}}}}
635+
DynamicQuantities.with_type_parameters(SymbolicDimensions{Float64}, Rational{Int}) == SymbolicDimensions{Rational{Int}}
628636
end
629637

630638
@testset "uconvert" begin

0 commit comments

Comments
 (0)