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
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
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
b2af21a4b376 Add todo note
Jonatan Werpers <jonatan@werpers.com>
parents: 720
diff changeset
38 @testset "iterate" begin
b2af21a4b376 Add todo note
Jonatan Werpers <jonatan@werpers.com>
parents: 720
diff changeset
39 # TODO
b2af21a4b376 Add todo note
Jonatan Werpers <jonatan@werpers.com>
parents: 720
diff changeset
40 end
b2af21a4b376 Add todo note
Jonatan Werpers <jonatan@werpers.com>
parents: 720
diff changeset
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