v2 / vlib / v / tests / loops / for_c_unsigned_boundaries_test.v
28 lines · 26 sloc · 549 bytes · 574e880119f20a86589ba1d997c29883c0a49908
Raw
1fn test_for_c_u8_inclusive_upper_bound_does_not_wrap() {
2 to := u8(255)
3 mut seen := []u8{}
4 for i := u8(253); i <= to; i++ {
5 seen << i
6 }
7 assert seen == [u8(253), 254, 255]
8}
9
10fn test_for_c_u8_inclusive_upper_bound_continue_does_not_wrap() {
11 to := u8(255)
12 mut seen := []u8{}
13 for i := u8(254); i <= to; i++ {
14 if i == to {
15 continue
16 }
17 seen << i
18 }
19 assert seen == [u8(254)]
20}
21
22fn test_for_c_u8_inclusive_lower_bound_does_not_wrap() {
23 mut seen := []u8{}
24 for i := u8(2); i >= u8(0); i-- {
25 seen << i
26 }
27 assert seen == [u8(2), 1, 0]
28}
29