Skip to content

Commit 807b31c

Browse files
committed
Improve tests of extension
1 parent cf47b71 commit 807b31c

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

ext/DynamicQuantitiesUnitfulExt.jl

+2-2
Original file line numberDiff line numberDiff line change
@@ -52,7 +52,7 @@ Base.convert(::Type{DynamicQuantities.Dimensions}, d::Unitful.Dimensions{D}) whe
5252

5353
Base.convert(::Type{DynamicQuantities.Dimensions}, x::Unitful.FreeUnits) =
5454
let
55-
dimension(convert(Unitful.Quantity, x))
55+
DynamicQuantities.dimension(convert(DynamicQuantities.Quantity, x))
5656
end
5757

5858
function _map_dim_name_to_dynamic_units(::Type{Unitful.Dimension{D}}) where {D}
@@ -64,7 +64,7 @@ function _map_dim_name_to_dynamic_units(::Type{Unitful.Dimension{D}}) where {D}
6464
D == :Temperature && return :temperature
6565
D == :Luminosity && return :luminosity
6666
D == :Amount && return :amount
67-
error("Unknown dimension: $D")
67+
throw(error("Unknown dimension: $D. Valid dimensions are: (:Length, :Mass, :Time, :Current, :Temperature, :Luminosity, :Amount)."))
6868
end
6969

7070

test/unitful.jl

+11
Original file line numberDiff line numberDiff line change
@@ -8,3 +8,14 @@ x_unitful = 0.2u"mol^2*A^(-1//2)*cd^(2//5)"
88

99
@test convert(Unitful.Quantity, x) x_unitful
1010
@test convert(DynamicQuantities.Quantity, convert(Unitful.Quantity, x)) x
11+
12+
@test convert(DynamicQuantities.Quantity, u"c") 2.99792458e8 * DynamicQuantities.Dimensions(length=1, time=-1)
13+
@test convert(DynamicQuantities.Dimensions, u"c") == DynamicQuantities.Dimensions(length=1, time=-1)
14+
@test convert(DynamicQuantities.Dimensions, Unitful.dimension(u"c")) == DynamicQuantities.Dimensions(length=1, time=-1)
15+
16+
# Defining a custom dimension should throw an error:
17+
Unitful.@dimension 𝚾 "𝚾" MyDimension
18+
# @refunit m "m" Meter 𝐋 true
19+
Unitful.@refunit my_unit "x" MyDimension 𝚾 true
20+
21+
@test_throws "Unknown dimension: MyDimension" convert(DynamicQuantities.Quantity, 1.0 * my_unit)

0 commit comments

Comments
 (0)