Mercurial > repos > public > sbplib_julia
comparison test/StaticDicts/StaticDicts_test.jl @ 746:ddb52db10f37 feature/static_dict
Merge in default
| author | Jonatan Werpers <jonatan@werpers.com> |
|---|---|
| date | Fri, 19 Mar 2021 13:41:25 +0100 |
| parents | test/testStaticDicts.jl@6377a5fba0a1 |
| children | ffb71bdb4486 |
comparison
equal
deleted
inserted
replaced
| 742:6377a5fba0a1 | 746:ddb52db10f37 |
|---|---|
| 1 using Test | |
| 2 using Sbplib.StaticDicts | |
| 3 | |
| 4 @testset "StaticDicts" begin | |
| 5 | |
| 6 @testset "StaticDict" begin | |
| 7 @testset "constructor" begin | |
| 8 @test (StaticDict{Int,Int,N} where N) <: AbstractDict | |
| 9 | |
| 10 d = StaticDict(1=>2, 3=>4) | |
| 11 @test d isa StaticDict{Int,Int} | |
| 12 @test d[1] == 2 | |
| 13 @test d[3] == 4 | |
| 14 | |
| 15 @test StaticDict((1=>2, 3=>4)) == d | |
| 16 | |
| 17 @test StaticDict() isa StaticDict | |
| 18 @test StaticDict{Int,String}() isa StaticDict{Int,String,0} | |
| 19 | |
| 20 @test StaticDict(1=>3, 2=>4.) isa StaticDict{Int,Real} | |
| 21 @test StaticDict(1. =>3, 2=>4) isa StaticDict{Real,Int} | |
| 22 @test StaticDict(1. =>3, 2=>4.) isa StaticDict{Real,Real} | |
| 23 | |
| 24 @test_throws DomainError StaticDict(1=>3, 1=>3) | |
| 25 end | |
| 26 | |
| 27 @testset "length" begin | |
| 28 @test length(StaticDict()) == 0 | |
| 29 @test length(StaticDict(1=>1)) == 1 | |
| 30 @test length(StaticDict(1=>1, 2=>2)) == 2 | |
| 31 end | |
| 32 | |
| 33 @testset "equality" begin | |
| 34 @test StaticDict(1=>1) == StaticDict(1=>1) | |
| 35 @test StaticDict(2=>1) != StaticDict(1=>1) | |
| 36 @test StaticDict(1=>2) != StaticDict(1=>1) | |
| 37 | |
| 38 # The following is not true for the regular Dict | |
| 39 @test StaticDict(1=>1) === StaticDict(1=>1) | |
| 40 @test StaticDict(2=>1) !== StaticDict(1=>1) | |
| 41 @test StaticDict(1=>2) !== StaticDict(1=>1) | |
| 42 end | |
| 43 | |
| 44 @testset "get" begin | |
| 45 d = StaticDict(1=>2, 3=>4) | |
| 46 | |
| 47 @test get(d,1,6) == 2 | |
| 48 @test get(d,3,6) == 4 | |
| 49 @test get(d,5,6) == 6 | |
| 50 end | |
| 51 | |
| 52 @testset "iterate" begin | |
| 53 pairs = [1=>2, 3=>4, 5=>6] | |
| 54 | |
| 55 d = StaticDict(pairs...) | |
| 56 @test collect(d) == pairs | |
| 57 end | |
| 58 | |
| 59 @testset "merge" begin | |
| 60 @test merge( | |
| 61 StaticDict(1=>3, 2=> 4), | |
| 62 StaticDict(3=>5,4=>6)) == StaticDict( | |
| 63 1=>3, 2=>4, 3=>5, 4=>6 | |
| 64 ) | |
| 65 @test_throws DomainError merge(StaticDict(1=>3),StaticDict(1=>3)) | |
| 66 end | |
| 67 end | |
| 68 | |
| 69 end |
