Skip to content

Commit

Permalink
Merge pull request JuliaCollections#8 from JuliaCollections/teh/coverage
Browse files Browse the repository at this point in the history
Improve test coverage
  • Loading branch information
timholy authored Sep 19, 2018
2 parents bb53fa1 + 0399ff2 commit 00e5788
Show file tree
Hide file tree
Showing 2 changed files with 30 additions and 6 deletions.
34 changes: 28 additions & 6 deletions test/test_ordered_dict.jl
Original file line number Diff line number Diff line change
Expand Up @@ -3,12 +3,20 @@ using OrderedCollections, Test
@testset "OrderedDict" begin

@testset "Constructors" begin
@test isa(OrderedDict(), OrderedDict{Any,Any})
@test isa(OrderedDict([(1,2.0)]), OrderedDict{Int,Float64})
@test isa(OrderedDict([("a",1),("b",2)]), OrderedDict{String,Int})
@test isa(OrderedDict(Pair(1, 1.0)), OrderedDict{Int,Float64})
@test isa(OrderedDict(Pair(1, 1.0), Pair(2, 2.0)), OrderedDict{Int,Float64})
@test isa(OrderedDict(Pair(1, 1.0), Pair(2, 2.0), Pair(3, 3.0)), OrderedDict{Int,Float64})
@test isa(@inferred(OrderedDict()), OrderedDict{Any,Any})
@test isa(@inferred(OrderedDict([(1,2.0)])), OrderedDict{Int,Float64})
@test isa(@inferred(OrderedDict([("a",1),("b",2)])), OrderedDict{String,Int})
@test isa(@inferred(OrderedDict(Pair(1, 1.0))), OrderedDict{Int,Float64})
@test isa(@inferred(OrderedDict(Pair(1, 1.0), Pair(2, 2.0))), OrderedDict{Int,Float64})
@test isa(@inferred(OrderedDict{Int,Float64}(Pair(1, 1), Pair(2, 2))), OrderedDict{Int,Float64})
@test isa(@inferred(OrderedDict(Pair(1, 1.0), Pair(2, 2.0), Pair(3, 3.0))), OrderedDict{Int,Float64})
@test OrderedDict(()) == OrderedDict{Any,Any}()
@test isa(@inferred(OrderedDict([Pair(1, 1.0), Pair(2, 2.0)])), OrderedDict{Int,Float64})
@test_throws ArgumentError OrderedDict([1,2,3,4])
iter = Iterators.filter(x->x.first>1, [Pair(1, 1.0), Pair(2, 2.0), Pair(3, 3.0)])
@test @inferred(OrderedDict(iter)) == OrderedDict{Int,Float64}(2=>2.0, 3=>3.0)
iter = Iterators.drop(1:10, 1)
@test_throws ArgumentError OrderedDict(iter)
end

@testset "empty dictionary" begin
Expand All @@ -32,6 +40,8 @@ using OrderedCollections, Test
@test 'a' in keys(d)
@test haskey(d, 'a')
@test get(d, 'B', 0) == 0
@test getkey(d, 'b', nothing) == 'b'
@test getkey(d, 'B', nothing) == nothing
@test !('B' in keys(d))
@test !haskey(d, 'B')
@test pop!(d, 'a') == 2
Expand All @@ -41,6 +51,17 @@ using OrderedCollections, Test
@test collect(d) == [Pair(a,i) for (a,i) in zip('b':'z', 2:26)]
end

@testset "convert" begin
d = OrderedDict{Int,Float32}(i=>Float32(i) for i = 1:10)
@test convert(OrderedDict{Int,Float32}, d) === d
dc = convert(OrderedDict{Int,Float64}, d)
@test dc !== d
@test keytype(dc) == Int
@test valtype(dc) == Float64
@test keys(dc) == keys(d)
@test collect(values(dc)) == collect(values(d))
end

@testset "Issue #60" begin
od60 = OrderedDict{Int,Int}()
od60[1] = 2
Expand Down Expand Up @@ -379,6 +400,7 @@ using OrderedCollections, Test
sd = sort(d)
@test collect(keys(sd)) == 1:10
@test collect(values(sd)) == collect('z':-1:'q')
@test sort(sd) == sd
sdv = sort(d; byvalue=true)
@test collect(keys(sdv)) == 10:-1:1
@test collect(values(sdv)) == collect('q':'z')
Expand Down
2 changes: 2 additions & 0 deletions test/test_ordered_set.jl
Original file line number Diff line number Diff line change
Expand Up @@ -143,7 +143,9 @@ using OrderedCollections, Test
@testset "setdiff" begin
@test isequal(setdiff(OrderedSet([1,2,3]), OrderedSet()), OrderedSet([1,2,3]))
@test isequal(setdiff(OrderedSet([1,2,3]), OrderedSet([1])), OrderedSet([2,3]))
@test isequal(setdiff(OrderedSet([1,2,3]), Set([1])), OrderedSet([2,3]))
@test isequal(setdiff(OrderedSet([1,2,3]), OrderedSet([1,2])), OrderedSet([3]))
@test isequal(setdiff(OrderedSet([1,2,3]), Set([1,2])), OrderedSet([3]))
@test isequal(setdiff(OrderedSet([1,2,3]), OrderedSet([1,2,3])), OrderedSet())
@test isequal(setdiff(OrderedSet([1,2,3]), OrderedSet([4])), OrderedSet([1,2,3]))
@test isequal(setdiff(OrderedSet([1,2,3]), OrderedSet([4,1])), OrderedSet([2,3]))
Expand Down

0 comments on commit 00e5788

Please sign in to comment.