4 class TestPointRange < Test::Unit::TestCase
5 def test_horizontal_range
6 range = PointRange.new(Point.new(3, 1), Point.new(7, 1))
8 assert_equal (3...7).map{|i| Point.new(i, 1) }, range.to_a
11 def test_vertical_range
12 range = PointRange.new(Point.new(3, 1), Point.new(3, 6))
13 assert range.parallel?
14 assert_equal (1...6).map{|i| Point.new(3, i) }, range.to_a
17 def test_diagonal_range
18 range = PointRange.new(Point.new(3, 1), Point.new(6, 4))
19 assert range.diagonal?
20 assert_equal [Point.new(3, 1),
22 Point.new(5, 3)], range.to_a
25 def test_diagonal2_range
26 range = PointRange.new(Point.new(7, 7), Point.new(0, 0))
27 assert range.diagonal?
28 assert_equal (1..7).map{|i| Point.new(i, i) }.reverse, range.to_a
31 def test_reverse_range
32 range = PointRange.new(Point.new(6, 4), Point.new(0, 4))
33 assert range.parallel?
34 assert_equal (1..6).map{|i| Point.new(i, 4) }.reverse, range.to_a
37 def test_invalid_range
38 range = PointRange.new(Point.new(0, 0), Point.new(4, 5))
41 range = PointRange.new(Point.new(2, 3), Point.new(7, 4))