Skip to content

Commit a137cd9

Browse files
author
David Widmann
committed
Add more tests
1 parent 494c218 commit a137cd9

File tree

1 file changed

+43
-0
lines changed

1 file changed

+43
-0
lines changed

test/unittests.jl

Lines changed: 43 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -498,6 +498,49 @@ end
498498
end
499499

500500
@testset "Symbolic dimensions" begin
501+
# TODO: Remove constructors for sym3 and sym4s?
502+
sym1 = @inferred(SymbolicDimensions(; m = 3, s = -1))
503+
sym2 = @inferred(SymbolicDimensions{Rational{Int}}(; m = 3, s = -1))
504+
sym3 = @inferred(SymbolicDimensions(Rational{Int}; m = 3, s = -1))
505+
sym4 = @inferred(SymbolicDimensions{Int}(Rational{Int}; m = 3, s = -1))
506+
for (sym, T) in (
507+
(sym1, DynamicQuantities.DEFAULT_DIM_BASE_TYPE), (sym2, Rational{Int}), (sym3, Rational{Int}), (sym4, Rational{Int}),
508+
)
509+
@test sym isa SymbolicDimensions{T}
510+
511+
# Properties
512+
@test sym.m == 3
513+
@test sym.s == -1
514+
@test propertynames(sym) == DynamicQuantities.ALL_SYMBOLS
515+
@test issubset((:m, :s), propertynames(sym))
516+
@test all(propertynames(sym)) do x
517+
val = getproperty(sym, x)
518+
return x === :m ? val == 3 : (x === :s ? val == -1 : iszero(val))
519+
end
520+
521+
# Internal constructor
522+
@test DynamicQuantities.constructor_of(typeof(sym)) === SymbolicDimensions
523+
524+
# Equality comparisons
525+
@test sym == sym
526+
@test sym == copy(sym)
527+
@test sym !== copy(sym)
528+
@test sym == SymbolicDimensions{Int}(; m = 3, s = -1)
529+
@test SymbolicDimensions{Int}(; m = 3, s = -1) == sym
530+
@test sym == SymbolicDimensions(; m = 3, g = 0, s = -1)
531+
@test SymbolicDimensions(; m = 3, g = 0, s = -1) == sym
532+
@test sym == SymbolicDimensions(; m = 3, s = -1, K = 0)
533+
@test SymbolicDimensions(; m = 3, s = -1, K = 0) == sym
534+
@test sym != SymbolicDimensions(; m = 2, s = -1)
535+
@test SymbolicDimensions(; m = 2, s = -1) != sym
536+
@test sym != SymbolicDimensions(; m = 3, g = 1, s = -1)
537+
@test SymbolicDimensions(; m = 3, g = 1, s = -1) != sym
538+
@test sym != SymbolicDimensions(; m = 3, s = -1, K = 1)
539+
@test SymbolicDimensions(; m = 3, s = -1, K = 1) != sym
540+
541+
@test !iszero(sym)
542+
end
543+
501544
q = 1.5us"km/s"
502545
@test q == 1.5 * us"km" / us"s"
503546
@test typeof(q) <: Quantity{Float64,<:SymbolicDimensions}

0 commit comments

Comments
 (0)