Mercurial > repos > public > sbplib_julia
annotate test/StaticDicts/StaticDicts_test.jl @ 1392:34753bf6e1e4 refactor/grids/cartesian_indexing
Close before merge
| author | Jonatan Werpers <jonatan@werpers.com> |
|---|---|
| date | Tue, 15 Aug 2023 22:41:57 +0200 |
| parents | ffb71bdb4486 |
| children | 471a948cd2b2 |
| 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 |
|
736
b5d9fbcdcef1
Add a constuctor taking a tuple
Jonatan Werpers <jonatan@werpers.com>
parents:
734
diff
changeset
|
15 @test StaticDict((1=>2, 3=>4)) == d |
|
b5d9fbcdcef1
Add a constuctor taking a tuple
Jonatan Werpers <jonatan@werpers.com>
parents:
734
diff
changeset
|
16 |
|
741
94941a062124
Add tests for constructing empty dicts. Change constructors accordingly
Jonatan Werpers <jonatan@werpers.com>
parents:
740
diff
changeset
|
17 @test StaticDict() isa StaticDict |
|
94941a062124
Add tests for constructing empty dicts. Change constructors accordingly
Jonatan Werpers <jonatan@werpers.com>
parents:
740
diff
changeset
|
18 @test StaticDict{Int,String}() isa StaticDict{Int,String,0} |
|
94941a062124
Add tests for constructing empty dicts. Change constructors accordingly
Jonatan Werpers <jonatan@werpers.com>
parents:
740
diff
changeset
|
19 |
|
719
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
20 @test StaticDict(1=>3, 2=>4.) isa StaticDict{Int,Real} |
|
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
21 @test StaticDict(1. =>3, 2=>4) isa StaticDict{Real,Int} |
|
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
22 @test StaticDict(1. =>3, 2=>4.) isa StaticDict{Real,Real} |
|
720
172c55c4cf2e
Dissalow duplicate keys
Jonatan Werpers <jonatan@werpers.com>
parents:
719
diff
changeset
|
23 |
|
737
ca4f17efb279
Change to using DomainError
Jonatan Werpers <jonatan@werpers.com>
parents:
736
diff
changeset
|
24 @test_throws DomainError StaticDict(1=>3, 1=>3) |
|
719
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
25 end |
|
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
26 |
| 740 | 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 | |
|
719
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
33 @testset "equality" begin |
|
734
1a8ef927e732
Add test for equality using ===
Jonatan Werpers <jonatan@werpers.com>
parents:
721
diff
changeset
|
34 @test StaticDict(1=>1) == StaticDict(1=>1) |
|
738
0ed147a4068a
Add some more equality tests
Jonatan Werpers <jonatan@werpers.com>
parents:
737
diff
changeset
|
35 @test StaticDict(2=>1) != StaticDict(1=>1) |
|
0ed147a4068a
Add some more equality tests
Jonatan Werpers <jonatan@werpers.com>
parents:
737
diff
changeset
|
36 @test StaticDict(1=>2) != StaticDict(1=>1) |
|
0ed147a4068a
Add some more equality tests
Jonatan Werpers <jonatan@werpers.com>
parents:
737
diff
changeset
|
37 |
| 747 | 38 @test StaticDict(1=>1) === StaticDict(1=>1) #not true for a regular Dict |
|
738
0ed147a4068a
Add some more equality tests
Jonatan Werpers <jonatan@werpers.com>
parents:
737
diff
changeset
|
39 @test StaticDict(2=>1) !== StaticDict(1=>1) |
|
0ed147a4068a
Add some more equality tests
Jonatan Werpers <jonatan@werpers.com>
parents:
737
diff
changeset
|
40 @test StaticDict(1=>2) !== StaticDict(1=>1) |
|
719
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
41 end |
|
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
42 |
|
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
43 @testset "get" begin |
|
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
44 d = StaticDict(1=>2, 3=>4) |
|
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
45 |
|
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
46 @test get(d,1,6) == 2 |
|
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
47 @test get(d,3,6) == 4 |
|
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
48 @test get(d,5,6) == 6 |
|
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 |
| 721 | 51 @testset "iterate" begin |
|
742
6377a5fba0a1
Add a simple test for iteration
Jonatan Werpers <jonatan@werpers.com>
parents:
741
diff
changeset
|
52 pairs = [1=>2, 3=>4, 5=>6] |
|
6377a5fba0a1
Add a simple test for iteration
Jonatan Werpers <jonatan@werpers.com>
parents:
741
diff
changeset
|
53 |
|
6377a5fba0a1
Add a simple test for iteration
Jonatan Werpers <jonatan@werpers.com>
parents:
741
diff
changeset
|
54 d = StaticDict(pairs...) |
|
6377a5fba0a1
Add a simple test for iteration
Jonatan Werpers <jonatan@werpers.com>
parents:
741
diff
changeset
|
55 @test collect(d) == pairs |
| 721 | 56 end |
| 57 | |
|
719
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
58 @testset "merge" begin |
|
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
59 @test merge( |
|
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
60 StaticDict(1=>3, 2=> 4), |
|
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
61 StaticDict(3=>5,4=>6)) == StaticDict( |
|
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
62 1=>3, 2=>4, 3=>5, 4=>6 |
|
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
63 ) |
|
737
ca4f17efb279
Change to using DomainError
Jonatan Werpers <jonatan@werpers.com>
parents:
736
diff
changeset
|
64 @test_throws DomainError merge(StaticDict(1=>3),StaticDict(1=>3)) |
|
719
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
65 end |
|
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
66 end |
|
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
67 |
|
2f8c67c5979e
Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff
changeset
|
68 end |
