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
+31
View File
@@ -0,0 +1,31 @@
// Ordered range.
IO.print((2..5).from) // expect: 2
IO.print((3..3).from) // expect: 3
IO.print((0..3).from) // expect: 0
IO.print((-5..3).from) // expect: -5
IO.print((-5..-2).from) // expect: -5
// Backwards range.
IO.print((5..2).from) // expect: 5
IO.print((3..0).from) // expect: 3
IO.print((3..-5).from) // expect: 3
IO.print((-2..-5).from) // expect: -2
// Exclusive ordered range.
IO.print((2...5).from) // expect: 2
IO.print((3...3).from) // expect: 3
IO.print((0...3).from) // expect: 0
IO.print((-5...3).from) // expect: -5
IO.print((-5...-2).from) // expect: -5
// Exclusive backwards range.
IO.print((5...2).from) // expect: 5
IO.print((3...0).from) // expect: 3
IO.print((3...-5).from) // expect: 3
IO.print((-2...-5).from) // expect: -2
// TODO: Test toString.
// TODO: Non-number RHS.
// TODO: Non-integer RHS.
// TODO: Range iteration.
// TODO: Empty or negative ranges.