Add startup bash script.
[kaya.git] / test / test_point_range.rb
blob91d78101b9a75f4232fa7148e7eb49f1ef40119f
1 require 'test/unit'
2 require 'point'
4 class TestPointRange < Test::Unit::TestCase
5   def test_horizontal_range
6     range = PointRange.new(Point.new(3, 1), Point.new(7, 1))
7     assert range.parallel?
8     assert_equal (3...7).map{|i| Point.new(i, 1) }, range.to_a
9   end
10   
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
15   end
16   
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),
21                   Point.new(4, 2),
22                   Point.new(5, 3)], range.to_a
23   end
24   
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
29   end
30   
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
35   end
36   
37   def test_invalid_range
38     range = PointRange.new(Point.new(0, 0), Point.new(4, 5))
39     assert !range.valid?
40     
41     range = PointRange.new(Point.new(2, 3), Point.new(7, 4))
42     assert !range.valid?
43   end
44 end