annotate test/testStaticDicts.jl @ 736:b5d9fbcdcef1 feature/static_dict

Add a constuctor taking a tuple
author Jonatan Werpers <jonatan@werpers.com>
date Wed, 17 Mar 2021 21:45:59 +0100
parents 1a8ef927e732
children ca4f17efb279
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
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
719
2f8c67c5979e Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
17 @test StaticDict(1=>3, 2=>4.) isa StaticDict{Int,Real}
2f8c67c5979e Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
18 @test StaticDict(1. =>3, 2=>4) isa StaticDict{Real,Int}
2f8c67c5979e Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
19 @test StaticDict(1. =>3, 2=>4.) isa StaticDict{Real,Real}
720
172c55c4cf2e Dissalow duplicate keys
Jonatan Werpers <jonatan@werpers.com>
parents: 719
diff changeset
20
172c55c4cf2e Dissalow duplicate keys
Jonatan Werpers <jonatan@werpers.com>
parents: 719
diff changeset
21 @test_throws ArgumentError StaticDict(1=>3, 1=>3)
172c55c4cf2e Dissalow duplicate keys
Jonatan Werpers <jonatan@werpers.com>
parents: 719
diff changeset
22 #TBD: is ArgumentError correct?
719
2f8c67c5979e Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
23 end
2f8c67c5979e Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
24
2f8c67c5979e Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
25 @testset "equality" begin
734
1a8ef927e732 Add test for equality using ===
Jonatan Werpers <jonatan@werpers.com>
parents: 721
diff changeset
26 @test StaticDict(1=>1) == StaticDict(1=>1)
1a8ef927e732 Add test for equality using ===
Jonatan Werpers <jonatan@werpers.com>
parents: 721
diff changeset
27
1a8ef927e732 Add test for equality using ===
Jonatan Werpers <jonatan@werpers.com>
parents: 721
diff changeset
28 # The following is not true for the regular Dict
1a8ef927e732 Add test for equality using ===
Jonatan Werpers <jonatan@werpers.com>
parents: 721
diff changeset
29 @test StaticDict(1=>1) === StaticDict(1=>1)
719
2f8c67c5979e Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
30 end
2f8c67c5979e Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
31
2f8c67c5979e Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
32 @testset "get" begin
2f8c67c5979e Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
33 d = StaticDict(1=>2, 3=>4)
2f8c67c5979e Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
34
2f8c67c5979e Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
35 @test get(d,1,6) == 2
2f8c67c5979e Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
36 @test get(d,3,6) == 4
2f8c67c5979e Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
37 @test get(d,5,6) == 6
2f8c67c5979e Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
38 end
2f8c67c5979e Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
39
721
b2af21a4b376 Add todo note
Jonatan Werpers <jonatan@werpers.com>
parents: 720
diff changeset
40 @testset "iterate" begin
b2af21a4b376 Add todo note
Jonatan Werpers <jonatan@werpers.com>
parents: 720
diff changeset
41 # TODO
b2af21a4b376 Add todo note
Jonatan Werpers <jonatan@werpers.com>
parents: 720
diff changeset
42 end
b2af21a4b376 Add todo note
Jonatan Werpers <jonatan@werpers.com>
parents: 720
diff changeset
43
719
2f8c67c5979e Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
44 @testset "merge" begin
2f8c67c5979e Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
45 @test merge(
2f8c67c5979e Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
46 StaticDict(1=>3, 2=> 4),
2f8c67c5979e Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
47 StaticDict(3=>5,4=>6)) == StaticDict(
2f8c67c5979e Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
48 1=>3, 2=>4, 3=>5, 4=>6
2f8c67c5979e Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
49 )
720
172c55c4cf2e Dissalow duplicate keys
Jonatan Werpers <jonatan@werpers.com>
parents: 719
diff changeset
50 @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
51 end
2f8c67c5979e Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
52 end
2f8c67c5979e Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
53
2f8c67c5979e Start adding a StaticDict type
Jonatan Werpers <jonatan@werpers.com>
parents:
diff changeset
54 end