Mercurial > repos > public > sbplib_julia
changeset 741:94941a062124 feature/static_dict
Add tests for constructing empty dicts. Change constructors accordingly
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Wed, 17 Mar 2021 22:08:59 +0100 |
parents | e7e06bf394fb |
children | 6377a5fba0a1 |
files | src/StaticDicts/StaticDicts.jl test/testStaticDicts.jl |
diffstat | 2 files changed, 5 insertions(+), 3 deletions(-) [+] |
line wrap: on
line diff
--- a/src/StaticDicts/StaticDicts.jl Wed Mar 17 21:57:55 2021 +0100 +++ b/src/StaticDicts/StaticDicts.jl Wed Mar 17 22:08:59 2021 +0100 @@ -23,7 +23,7 @@ struct StaticDict{K,V,N} <: AbstractDict{K,V} pairs::NTuple{N,Pair{K,V}} - function StaticDict{K,V,N}(pairs::Tuple) where {K,V,N} + function StaticDict{K,V}(pairs::Vararg{Pair,N}) where {K,V,N} if !allunique(first.(pairs)) throw(DomainError(pairs, "keys must be unique")) end @@ -34,8 +34,7 @@ function StaticDict(pairs::Vararg{Pair}) K = typejoin(firsttype.(pairs)...) V = typejoin(secondtype.(pairs)...) - N = length(pairs) - return StaticDict{K,V,N}(pairs) + return StaticDict{K,V}(pairs...) end StaticDict(pairs::NTuple{N,Pair} where N) = StaticDict(pairs...)
--- a/test/testStaticDicts.jl Wed Mar 17 21:57:55 2021 +0100 +++ b/test/testStaticDicts.jl Wed Mar 17 22:08:59 2021 +0100 @@ -14,6 +14,9 @@ @test StaticDict((1=>2, 3=>4)) == d + @test StaticDict() isa StaticDict + @test StaticDict{Int,String}() isa StaticDict{Int,String,0} + @test StaticDict(1=>3, 2=>4.) isa StaticDict{Int,Real} @test StaticDict(1. =>3, 2=>4) isa StaticDict{Real,Int} @test StaticDict(1. =>3, 2=>4.) isa StaticDict{Real,Real}