v2 / vlib / v / tests / range_expr_with_int_test.v
48 lines · 38 sloc · 626 bytes · 07eed88df7b07bf52ce62a319292e30273dcf824
Raw
1module main
2
3const min = 1
4const max = 3
5
6fn t() f64 {
7 return 1.23
8}
9
10fn z() ?f64 {
11 return 1.22
12}
13
14fn r() int {
15 return 5
16}
17
18fn test_main() {
19 y := 4
20
21 assert y in 1..20
22 assert y !in 5..20
23 assert y in 4..20
24 assert y !in min..max
25
26 assert (t() !in 1..3) == false
27 assert r() in 5..6
28 assert r() in 4..6
29 assert 1.22 in z()?..t()
30 assert 1.23 !in z()?..t()
31 assert 1.221 in z()?..t()
32
33 a := {
34 'f': 2
35 }
36 assert a['f'] in 1..3
37 assert a['f'] in 2..3
38 assert a['f'] !in 0..2
39 assert a['f'] in min..max
40}
41
42fn test_rune() {
43 assert `a` in `a`..`h`
44 assert `h` !in `a`..`h`
45
46 assert `f` in `a`..`h`
47 assert `f` !in `g`..`h`
48}
49