Mercurial > repos > public > sbplib_julia
comparison test/testStaticDicts.jl @ 719:2f8c67c5979e feature/static_dict
Start adding a StaticDict type
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Tue, 16 Mar 2021 17:28:40 +0100 |
parents | |
children | 172c55c4cf2e |
comparison
equal
deleted
inserted
replaced
718:05d8ea88c690 | 719:2f8c67c5979e |
---|---|
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=>3, 2=>4.) isa StaticDict{Int,Real} | |
16 @test StaticDict(1. =>3, 2=>4) isa StaticDict{Real,Int} | |
17 @test StaticDict(1. =>3, 2=>4.) isa StaticDict{Real,Real} | |
18 end | |
19 | |
20 @testset "equality" begin | |
21 @test StaticDict(1=>1) == StaticDict(1=>1) # This is not true for the regular Dict | |
22 end | |
23 | |
24 @testset "get" begin | |
25 d = StaticDict(1=>2, 3=>4) | |
26 | |
27 @test get(d,1,6) == 2 | |
28 @test get(d,3,6) == 4 | |
29 @test get(d,5,6) == 6 | |
30 end | |
31 | |
32 @testset "merge" begin | |
33 @test merge( | |
34 StaticDict(1=>3, 2=> 4), | |
35 StaticDict(3=>5,4=>6)) == StaticDict( | |
36 1=>3, 2=>4, 3=>5, 4=>6 | |
37 ) | |
38 @test_broken merge(d,d) == d # Should this be valid? | |
39 end | |
40 end | |
41 | |
42 end |