1 # Copyright (c) 2009 Paolo Capriotti <p.capriotti@gmail.com>
3 # This program is free software; you can redistribute it and/or modify
4 # it under the terms of the GNU General Public License as published by
5 # the Free Software Foundation; either version 2 of the License, or
6 # (at your option) any later version.
9 require 'board/point_converter'
12 class TestPointConverter < Test::Unit::TestCase
14 include PointConverter
18 @game = Struct.new(:size).new(Point.new(8, 8))
35 @board = FakeBoard.new
39 assert_equal Point.new(0, 0), @board.to_logical(Point.new(0, 0))
40 assert_equal Point.new(5, 4), @board.to_logical(Point.new(50, 40))
41 assert_equal Point.new(0, -1), @board.to_logical(Point.new(9, -3))
42 assert_equal Point.new(-2, 3), @board.to_logical(Point.new(-16, 31))
46 assert_equal Point.new(20, 80), @board.to_real(Point.new(2, 8))
47 assert_equal Point.new(0, 0), @board.to_real(Point.new(0, 0))
48 assert_equal Point.new(20, -40), @board.to_real(Point.new(2, -4))
51 def test_to_logical_flipped
53 assert_equal Point.new(7, 7), @board.to_logical(Point.new(0, 0))
54 assert_equal Point.new(2, 3), @board.to_logical(Point.new(50, 40))
55 assert_equal Point.new(7, 8), @board.to_logical(Point.new(9, -3))
56 assert_equal Point.new(9, 4), @board.to_logical(Point.new(-16, 31))
59 def test_to_real_flipped
61 assert_equal Point.new(50, 80), @board.to_real(Point.new(2, -1))
62 assert_equal Point.new(70, 0), @board.to_real(Point.new(0, 7))
63 assert_equal Point.new(50, -40), @board.to_real(Point.new(2, 11))