comparison test/StaticDicts/StaticDicts_test.jl @ 769:0158c3fd521c operator_storage_array_of_table

Merge in default
author Jonatan Werpers <jonatan@werpers.com>
date Thu, 15 Jul 2021 00:06:16 +0200
parents ffb71bdb4486
children 471a948cd2b2
comparison
equal deleted inserted replaced
768:7c87a33963c5 769:0158c3fd521c
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=>2, 3=>4)) == d
16
17 @test StaticDict() isa StaticDict
18 @test StaticDict{Int,String}() isa StaticDict{Int,String,0}
19
20 @test StaticDict(1=>3, 2=>4.) isa StaticDict{Int,Real}
21 @test StaticDict(1. =>3, 2=>4) isa StaticDict{Real,Int}
22 @test StaticDict(1. =>3, 2=>4.) isa StaticDict{Real,Real}
23
24 @test_throws DomainError StaticDict(1=>3, 1=>3)
25 end
26
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
33 @testset "equality" begin
34 @test StaticDict(1=>1) == StaticDict(1=>1)
35 @test StaticDict(2=>1) != StaticDict(1=>1)
36 @test StaticDict(1=>2) != StaticDict(1=>1)
37
38 @test StaticDict(1=>1) === StaticDict(1=>1) #not true for a regular Dict
39 @test StaticDict(2=>1) !== StaticDict(1=>1)
40 @test StaticDict(1=>2) !== StaticDict(1=>1)
41 end
42
43 @testset "get" begin
44 d = StaticDict(1=>2, 3=>4)
45
46 @test get(d,1,6) == 2
47 @test get(d,3,6) == 4
48 @test get(d,5,6) == 6
49 end
50
51 @testset "iterate" begin
52 pairs = [1=>2, 3=>4, 5=>6]
53
54 d = StaticDict(pairs...)
55 @test collect(d) == pairs
56 end
57
58 @testset "merge" begin
59 @test merge(
60 StaticDict(1=>3, 2=> 4),
61 StaticDict(3=>5,4=>6)) == StaticDict(
62 1=>3, 2=>4, 3=>5, 4=>6
63 )
64 @test_throws DomainError merge(StaticDict(1=>3),StaticDict(1=>3))
65 end
66 end
67
68 end