null+****@clear*****
null+****@clear*****
2012年 5月 18日 (金) 16:28:56 JST
HAYASHI Kentaro 2012-05-18 16:28:56 +0900 (Fri, 18 May 2012)
New Revision: 97d3a14aa87cee49f0930bdca1d177e181b01de0
Log:
test: add a method to check direction
Modified files:
test/function/tools/geo/generate-grntest-data.rb
Modified: test/function/tools/geo/generate-grntest-data.rb (+87 -0)
===================================================================
--- test/function/tools/geo/generate-grntest-data.rb 2012-05-18 15:00:19 +0900 (27a79fe)
+++ test/function/tools/geo/generate-grntest-data.rb 2012-05-18 16:28:56 +0900 (3d9fe79)
@@ -237,6 +237,93 @@ class GrnTestData
start_longitude == end_longitude and start_latitude == end_latitude
end
+ def longitude_equal?
+ @longitude_start_degree == @longitude_end_degree
+ end
+
+ def latitude_equal?
+ @latitude_start_degree == @latitude_end_degree
+ end
+
+ def to_north?(check_longitude=true)
+ if check_longitude
+ longitude_equal? and @latitude_start_degree < @latitude_end_degree
+ else
+ @latitude_start_degree < @latitude_end_degree
+ end
+ end
+
+ def to_east?(check_latitude=true)
+ if check_latitude
+ latitude_equal? and @longitude_start_degree < @longitude_end_degree
+ else
+ @longitude_start_degree < @longitude_end_degree
+ end
+ end
+
+ def to_west?(check_latitude=true)
+ if check_latitude
+ latitude_equal? and @longitude_start_degree > @longitude_end_degree
+ else
+ @longitude_start_degree > @longitude_end_degree
+ end
+ end
+
+ def to_south?(check_longitude=true)
+ if check_longitude
+ longitude_equal? and @latitude_start_degree > @latitude_end_degree
+ else
+ @latitude_start_degree > @latitude_end_degree
+ end
+ end
+
+ def to_north_east?
+ to_north?(false) and to_east?(false)
+ end
+
+ def to_north_west?
+ to_north?(false) and to_west?(false)
+ end
+
+ def to_south_east?
+ to_south?(false) and to_east?(false)
+ end
+
+ def to_south_west?
+ to_south?(false) and to_west?(false)
+ end
+
+ def direction
+ is_point = point?(@longitude_start_degree, @latitude_start_degree,
+ @longitude_end_degree, @latitude_end_degree)
+ if is_point
+ ""
+ else
+ if within_specified_quadrant?("1st") or
+ within_specified_quadrant?("2nd") or
+ within_specified_quadrant?("3rd") or
+ within_specified_quadrant?("4th")
+ if to_north?
+ "north"
+ elsif to_east?
+ "east"
+ elsif to_west?
+ "west"
+ elsif to_south?
+ "south_west"
+ elsif to_north_east?
+ "north_east"
+ elsif to_north_west?
+ "north_west"
+ elsif to_south_east?
+ "south_east"
+ elsif to_south_west?
+ "south_west"
+ end
+ end
+ end
+ end
+
def generate_filename
s = get_point(@longitude_start_degree, @latitude_start_degree)
e = get_point(@longitude_end_degree, @latitude_end_degree)