summaryrefslogtreecommitdiff
path: root/lib/std/test/iterutil.myr
blob: dfa46fa972d44716ad1646ec90f02560acf5bbae (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
use std

const main = {
	var n

	n = 0
	for (x, i) in std.byenum([1,3,5,7,9][:])
		std.assert(x == n, "invalid enum idx {}", x)
		std.assert(i == n*2 + 1, "invalid enum val {}", i)
		n++
	;;

	n = 0
	for (a, b) in std.byzip([0,2,4,6,8][:], [2,4][:])
		std.assert(a == n*2, "invalid val from a: {}", a)
		std.assert(b == n*2 + 2, "invalid val from b: {}", b)
		n++
	;;

	n = 0
	for x in std.byreverse([3, 2, 1, 0][:])
		std.assert(x == n, "invalid reversed value {}, expected {}", x, n)
		n++
	;;

}