Use integer coordinates everywhere.
[kaya.git] / test / test_controller.rb
blobdff70339fc9075c7e980247ae5493a2d5f2b1afd
1 require 'test/unit'
2 require 'controller'
3 require 'rubygems'
4 require 'mocha'
6 class TestController < Test::Unit::TestCase
7   def setup
8     @board = mock('board')
9     class << @board
10       include Observable
11     end
12     @history = mock('history')
13     @controller = Controller.new(@board, @history)
14   end
15   
16   def test_on_new_move
17     @history.expects(:add_move).once.with('state', 'move')
18     @board.expects(:highlight).once.with('move')
19     @board.fire :new_move => { :state => 'state', :move => 'move' }
20   end
21   
22   def test_back
23     @history.expects(:back).returns(['state', 'move'])
24     @history.expects(:move).returns('last_move')
25     @board.expects(:back).with('state', 'move')
26     @board.expects(:highlight).once.with('last_move')
27     @board.fire :back
28   end
29   
30   def test_forward
31     @history.expects(:forward).returns(['state', 'move'])
32     @board.expects(:forward).with('state', 'move')
33     @board.expects(:highlight).once.with('move')
34     @board.fire :forward
35   end
36 end