Moved main -> lib.
[kaya/ydirson.git] / test / games / chess / chess_piece_test.rb
blob9008d50b9a3f07229728261d83d99a33e4b999dd
1 require 'test/unit'
2 require 'games/chess/piece'
4 class ChessPieceTest < Test::Unit::TestCase
5   def test_fields
6     piece = Chess::Piece.new(:white, :bishop)
7     assert_equal :bishop, piece.type
8     assert_equal :white, piece.color
9   end
10   
11   def test_equality
12     assert_equal Chess::Piece.new(:white, :bishop), Chess::Piece.new(:white, :bishop)
13     assert_not_equal Chess::Piece.new(:white, :bishop), Chess::Piece.new(:black, :bishop)
14     assert_not_equal Chess::Piece.new(:white, :bishop), Chess::Piece.new(:white, :rook)
15     assert_not_equal Chess::Piece.new(:white, :queen), Chess::Piece.new(:black, :king)
16   end
17   
18   def test_name
19     assert_equal "white bishop", Chess::Piece.new(:white, :bishop).name
20     assert_equal "black pawn", Chess::Piece.new(:black, :pawn).name
21     assert_equal "black knight", Chess::Piece.new(:black, :knight).name
22   end
23   
24   def test_symbol
25     assert_equal 'K', Chess::Piece.new(:white, :king).symbol
26     assert_equal 'n', Chess::Piece.new(:black, :knight).symbol
27     assert_equal 'N', Chess::Piece.new(:white, :knight).symbol
28     assert_equal 'q', Chess::Piece.new(:black, :queen).symbol
29     assert_equal 'R', Chess::Piece.new(:white, :rook).symbol
30   end
31   
32   def test_same_color_of
33     assert Chess::Piece.new(:white, :knight).same_color_of?(Chess::Piece.new(:white, :rook))
34     assert Chess::Piece.new(:white, :bishop).same_color_of?(Chess::Piece.new(:white, :bishop))
35     assert !Chess::Piece.new(:white, :pawn).same_color_of?(Chess::Piece.new(:black, :queen))
36     assert !Chess::Piece.new(:white, :knight).same_color_of?(nil)
37   end
38 end