v2 / vlib / v / tests / enums / enum_static_from_string_test.v
39 lines · 32 sloc · 738 bytes · 6488041a749df9762348d019c4223908c476f2e2
Raw
1enum Color1 {
2 unknown
3 red
4 green
5 blue
6}
7
8enum Color2 as i64 {
9 unknown
10 red
11 blue = 123456789012345
12 green
13}
14
15fn test_enum_static_from_string() {
16 color11 := Color1.from_string('red')?
17 println(color11)
18 assert color11 == Color1.red
19
20 color12 := Color1.from_string('blue')?
21 println(color12)
22 assert color12 == Color1.blue
23
24 color13 := Color1.from_string('aaaaa') or { Color1.unknown }
25 println(color13)
26 assert color13 == Color1.unknown
27
28 color21 := Color2.from_string('red')?
29 println(color21)
30 assert color21 == Color2.red
31
32 color22 := Color2.from_string('green')?
33 println(color22)
34 assert color22 == Color2.green
35
36 color23 := Color2.from_string('bbbbb') or { Color2.unknown }
37 println(color23)
38 assert color23 == Color2.unknown
39}
40