Skip to content

Commit 115d5c2

Browse files
committed
add more enum tests
1 parent 754590a commit 115d5c2

File tree

1 file changed

+25
-1
lines changed

1 file changed

+25
-1
lines changed

test/runtests.jl

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,17 +83,41 @@ struct SErrors;a;b;c;end
8383
end
8484

8585
@enum Color Red Blue Green
86+
8687
@enumbatteries Color string_conversion = true symbol_conversion = true
8788

89+
@enum Shape Circle Square
90+
@enumbatteries Shape symbol_conversion =true
91+
8892
@testset "@enumbatteries" begin
8993
@test Red === @inferred Color("Red")
9094
@test Red === @inferred convert(Color, "Red")
9195
@test "Red" === @inferred String(Red)
9296
@test "Red" === @inferred convert(String, Red)
97+
@test_throws ArgumentError Color("Nonsense")
9398

9499
@test :Red === @inferred Symbol(Red)
95100
@test :Red === @inferred convert(Symbol, Red)
96101
@test Red === @inferred Color(:Red)
97102
@test Red === @inferred convert(Color, :Red)
98-
103+
@test_throws ArgumentError Color(:Nonsense)
104+
res = @test_throws ArgumentError convert(Color, :nonsense)
105+
@test occursin(":nonsense", res.value.msg)
106+
@test occursin(":Red", res.value.msg)
107+
@test occursin(":Blue", res.value.msg)
108+
@test occursin(":Green", res.value.msg)
109+
110+
@test :Circle === @inferred Symbol(Circle)
111+
@test :Circle === @inferred convert(Symbol, Circle)
112+
@test Circle === @inferred Shape(:Circle)
113+
@test Circle === @inferred convert(Shape, :Circle)
114+
@test_throws ArgumentError Shape(:Nonsense)
115+
res = @test_throws ArgumentError convert(Shape, :nonsense)
116+
@test occursin(":Circle", res.value.msg)
117+
@test occursin(":Square", res.value.msg)
118+
119+
@test_throws Exception String(Circle)
120+
@test_throws Exception convert(String, Circle)
121+
@test_throws Exception Shape("Circle")
122+
@test_throws Exception convert(Shape, "Circle")
99123
end

0 commit comments

Comments
 (0)