Fix #2. Finish implementing Range.

Covers error and edge cases and fully tested now.
This commit is contained in:
Bob Nystrom
2014-01-20 13:20:22 -08:00
parent 97bf314f4b
commit 46c1ba9249
14 changed files with 148 additions and 38 deletions
+28 -1
View File
@@ -1,3 +1,4 @@
// Inclusive.
var range = 1..3
IO.print(range.iterate(null)) // expect: 1
IO.print(range.iterate(1)) // expect: 2
@@ -5,4 +6,30 @@ IO.print(range.iterate(2)) // expect: 3
IO.print(range.iterate(3)) // expect: false
IO.print(range.iterate(4)) // expect: false
// TODO: Negative and empty ranges.
// Exclusive
range = 1...3
IO.print(range.iterate(null)) // expect: 1
IO.print(range.iterate(1)) // expect: 2
IO.print(range.iterate(2)) // expect: false
// Negative inclusive range.
range = 3..1
IO.print(range.iterate(null)) // expect: 3
IO.print(range.iterate(3)) // expect: 2
IO.print(range.iterate(2)) // expect: 1
IO.print(range.iterate(1)) // expect: false
// Negative exclusive range.
range = 3...1
IO.print(range.iterate(null)) // expect: 3
IO.print(range.iterate(3)) // expect: 2
IO.print(range.iterate(2)) // expect: false
// Empty inclusive range.
range = 1..1
IO.print(range.iterate(null)) // expect: 1
IO.print(range.iterate(1)) // expect: false
// Empty exclusive range.
range = 1...1
IO.print(range.iterate(null)) // expect: false