Mercurial > repos > public > sbplib_julia
annotate test/testStaticDicts.jl @ 734:1a8ef927e732 feature/static_dict
Add test for equality using ===
author | Jonatan Werpers <jonatan@werpers.com> |
---|---|
date | Wed, 17 Mar 2021 21:24:57 +0100 |
parents | b2af21a4b376 |
children | b5d9fbcdcef1 |
rev | line source |
---|---|
719
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
1 using Test |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
2 using Sbplib.StaticDicts |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
3 |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
4 @testset "StaticDicts" begin |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
5 |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
6 @testset "StaticDict" begin |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
7 @testset "constructor" begin |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
8 @test (StaticDict{Int,Int,N} where N) <: AbstractDict |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
9 |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
10 d = StaticDict(1=>2, 3=>4) |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
11 @test d isa StaticDict{Int,Int} |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
12 @test d[1] == 2 |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
13 @test d[3] == 4 |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
14 |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
15 @test StaticDict(1=>3, 2=>4.) isa StaticDict{Int,Real} |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
16 @test StaticDict(1. =>3, 2=>4) isa StaticDict{Real,Int} |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
17 @test StaticDict(1. =>3, 2=>4.) isa StaticDict{Real,Real} |
720
172c55c4cf2e
Dissalow duplicate keys
Jonatan Werpers <jonatan@werpers.com>
parents:
719
diff
changeset
|
18 |
172c55c4cf2e
Dissalow duplicate keys
Jonatan Werpers <jonatan@werpers.com>
parents:
719
diff
changeset
|
19 @test_throws ArgumentError StaticDict(1=>3, 1=>3) |
172c55c4cf2e
Dissalow duplicate keys
Jonatan Werpers <jonatan@werpers.com>
parents:
719
diff
changeset
|
20 #TBD: is ArgumentError correct? |
719
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
21 end |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
22 |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
23 @testset "equality" begin |
734
1a8ef927e732
Add test for equality using ===
Jonatan Werpers <jonatan@werpers.com>
parents:
721
diff
changeset
|
24 @test StaticDict(1=>1) == StaticDict(1=>1) |
1a8ef927e732
Add test for equality using ===
Jonatan Werpers <jonatan@werpers.com>
parents:
721
diff
changeset
|
25 |
1a8ef927e732
Add test for equality using ===
Jonatan Werpers <jonatan@werpers.com>
parents:
721
diff
changeset
|
26 # The following is not true for the regular Dict |
1a8ef927e732
Add test for equality using ===
Jonatan Werpers <jonatan@werpers.com>
parents:
721
diff
changeset
|
27 @test StaticDict(1=>1) === StaticDict(1=>1) |
719
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
28 end |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
29 |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
30 @testset "get" begin |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
31 d = StaticDict(1=>2, 3=>4) |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
32 |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
33 @test get(d,1,6) == 2 |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
34 @test get(d,3,6) == 4 |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
35 @test get(d,5,6) == 6 |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
36 end |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
37 |
721 | 38 @testset "iterate" begin |
39 # TODO | |
40 end | |
41 | |
719
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
42 @testset "merge" begin |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
43 @test merge( |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
44 StaticDict(1=>3, 2=> 4), |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
45 StaticDict(3=>5,4=>6)) == StaticDict( |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
46 1=>3, 2=>4, 3=>5, 4=>6 |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
47 ) |
720
172c55c4cf2e
Dissalow duplicate keys
Jonatan Werpers <jonatan@werpers.com>
parents:
719
diff
changeset
|
48 @test_throws ArgumentError merge(StaticDict(1=>3),StaticDict(1=>3)) |
719
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
49 end |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
50 end |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
51 |
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
52 end |