29 lines
579 B
Nim
29 lines
579 B
Nim
import
|
|
unittest,
|
|
../ranges/typedranges
|
|
|
|
suite "Typed ranges":
|
|
test "basic stuff":
|
|
var r = newRange[int](5)
|
|
r[0] = 1
|
|
r[1 .. ^1] = [2, 3, 4, 5]
|
|
|
|
check $r == "R[1, 2, 3, 4, 5]"
|
|
|
|
var s = newSeq[int]()
|
|
for a in r: s.add(a)
|
|
check s == @[1, 2, 3, 4, 5]
|
|
|
|
test "subrange":
|
|
var a = newRange[int](5)
|
|
let b = toRange(@[1, 2, 3])
|
|
a[1 .. 3] = b
|
|
check a.toSeq == @[0, 1, 2, 3, 0]
|
|
|
|
test "equality operator":
|
|
var x = toRange(@[0, 1, 2, 3, 4, 5])
|
|
var y = x[1 .. ^2]
|
|
var z = toRange(@[1, 2, 3, 4])
|
|
check y == z
|
|
check x != z
|