Skip to content

Commit d173a25

Browse files
committed
More coverage
1 parent 1658ebb commit d173a25

File tree

3 files changed

+38
-1
lines changed

3 files changed

+38
-1
lines changed

README.md

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -243,7 +243,19 @@ julia> using DynamicQuantities.SymbolicConstants: h
243243

244244
Note that `SymbolicUnits` and `SymbolicConstants` are exported,
245245
so you can simply access these as `SymbolicUnits.cm` and `SymbolicConstants.h`,
246-
respectively.
246+
respectively. I like to work with these like so:
247+
248+
```julia
249+
julia> const u = DynamicQuantities.SymbolicUnits;
250+
251+
julia> const C = DynamicQuantities.SymbolicConstants;
252+
```
253+
254+
so that I can simply write things like:
255+
256+
```julia
257+
julia> u.yr * C.c |> uexpand |> uconvert(u.km)
258+
```
247259

248260

249261
### Arrays

docs/src/types.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,17 @@ Another type which subtypes `AbstractDimensions` is `SymbolicDimensions`:
2525
SymbolicDimensions
2626
```
2727

28+
Just note that all of the symbolic units and constants are stored using the
29+
immutable `SymbolicDimensionsSingleton`, which shares the same
30+
supertype `AbstractSymbolicDimensions <: SymbolicDimensions`. These get immediately
31+
converted to the mutable `SymbolicDimensions` when used in any
32+
calculation.
33+
34+
```@docs
35+
SymbolicDimensionsSingleton
36+
AbstractSymbolicDimensions
37+
```
38+
2839
## Arrays
2940

3041
```@docs

test/unittests.jl

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1681,6 +1681,7 @@ end
16811681

16821682
@testset "Tests of SymbolicDimensionsSingleton" begin
16831683
km = SymbolicUnits.km
1684+
m = SymbolicUnits.m
16841685
@test km isa Quantity{T,SymbolicDimensionsSingleton{R}} where {T,R}
16851686
@test dimension(km) isa SymbolicDimensionsSingleton
16861687
@test dimension(km) isa AbstractSymbolicDimensions
@@ -1730,6 +1731,19 @@ end
17301731
SymbolicDimensionsSingleton{Int64},
17311732
Dimensions{Int16}
17321733
) === Dimensions{Int64}
1734+
1735+
# Test map_dimensions explicitly for coverage:
1736+
@test map_dimensions(-, dimension(km)).km == -1
1737+
@test map_dimensions(-, dimension(km)) isa SymbolicDimensions
1738+
@test map_dimensions(+, dimension(km), dimension(m)).km == 1
1739+
@test map_dimensions(+, dimension(km), dimension(m)).m == 1
1740+
@test map_dimensions(+, dimension(km), dimension(m)).cm == 0
1741+
@test map_dimensions(+, dimension(km), SymbolicDimensions(dimension(m))).km == 1
1742+
@test map_dimensions(+, dimension(km), SymbolicDimensions(dimension(m))).m == 1
1743+
@test map_dimensions(+, dimension(km), SymbolicDimensions(dimension(m))).cm == 0
1744+
@test map_dimensions(+, SymbolicDimensions(dimension(km)), dimension(m)).km == 1
1745+
@test map_dimensions(+, SymbolicDimensions(dimension(km)), dimension(m)).m == 1
1746+
@test map_dimensions(+, SymbolicDimensions(dimension(km)), dimension(m)).cm == 0
17331747
end
17341748

17351749
@testset "Test div" begin

0 commit comments

Comments
 (0)