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 |