Mercurial > repos > public > sbplib_julia
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 |