bangkok 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,109 @@
1
+ require 'test/unit'
2
+ $LOAD_PATH[0, 0] = File.join(File.dirname(__FILE__), '..', 'lib')
3
+ require 'bangkok/square'
4
+
5
+ class SquareTest < Test::Unit::TestCase
6
+
7
+ def test_OFF_BOARD
8
+ assert_not_nil(Square::OFF_BOARD)
9
+ end
10
+
11
+ def test_equals
12
+ s1 = Square.new(3, 4)
13
+ s2 = Square.new('d5')
14
+ assert_equal(s1, s2)
15
+ assert(s1 == s2)
16
+
17
+ s3 = Square.new(0, 0)
18
+ assert(s1 != s3)
19
+ end
20
+
21
+ def test_empty_ctor
22
+ s = Square.new
23
+ assert_equal(Square::OFF_BOARD, s)
24
+ end
25
+
26
+ def test_ctors
27
+ s = Square.new
28
+ assert_nil(s.file)
29
+ assert_nil(s.rank)
30
+ assert_nil(s.color)
31
+
32
+ s = Square.new(1, 3)
33
+ assert_equal(1, s.file)
34
+ assert_equal(3, s.rank)
35
+ assert_equal('b4', s.to_s) # Just making sure I know what color should be
36
+ assert_equal(:black, s.color)
37
+
38
+ s1 = Square.new(s)
39
+ assert_equal(s, s1)
40
+
41
+ s = Square.new('a8')
42
+ assert_equal(0, s.file)
43
+ assert_equal(7, s.rank)
44
+ assert_equal(:white, s.color)
45
+
46
+ s = Square.new('g5')
47
+ assert_equal(6, s.file)
48
+ assert_equal(4, s.rank)
49
+ assert_equal(:black, s.color)
50
+
51
+ s = Square.new('d')
52
+ assert_equal(3, s.file)
53
+ assert_nil(s.rank)
54
+ assert_nil(s.color)
55
+
56
+ s = Square.new('4')
57
+ assert_nil(s.file)
58
+ assert_equal(3, s.rank)
59
+ assert_nil(s.color)
60
+
61
+ begin
62
+ Square.new(Time.new)
63
+ assert(false)
64
+ rescue
65
+ assert(true)
66
+ end
67
+ end
68
+
69
+ def test_on_board
70
+ s = Square.new
71
+ assert(!s.on_board?)
72
+
73
+ s = Square.new(1, 3)
74
+ assert(s.on_board?)
75
+
76
+ s1 = Square.new(s)
77
+ assert(s.on_board?)
78
+
79
+ s = Square.new('a8')
80
+ assert(s.on_board?)
81
+
82
+ s = Square.new('d')
83
+ assert(!s.on_board?)
84
+
85
+ s = Square.new('4')
86
+ assert(!s.on_board?)
87
+ end
88
+
89
+ def test_to_s
90
+ s = Square.new
91
+ assert_equal("<off-board>", s.to_s)
92
+
93
+ s = Square.new(1, 3)
94
+ assert_equal("b4", s.to_s)
95
+
96
+ s1 = Square.new(s)
97
+ assert_equal("b4", s.to_s)
98
+
99
+ s = Square.new('a8')
100
+ assert_equal("a8", s.to_s)
101
+
102
+ s = Square.new('d')
103
+ assert_equal("<off-board>", s.to_s)
104
+
105
+ s = Square.new('4')
106
+ assert_equal("<off-board>", s.to_s)
107
+ end
108
+
109
+ end
metadata ADDED
@@ -0,0 +1,75 @@
1
+ --- !ruby/object:Gem::Specification
2
+ rubygems_version: 0.8.8
3
+ specification_version: 1
4
+ name: bangkok
5
+ version: !ruby/object:Gem::Version
6
+ version: 0.1.0
7
+ date: 2005-03-25
8
+ summary: Chess game file reader and player; can turn games into MIDI files
9
+ require_paths:
10
+ - lib
11
+ email: jimm@io.com
12
+ homepage: http://bangkok.rubyforge.org
13
+ rubyforge_project: bangkok
14
+ description: "Bangkok can read chess game descriptions and re-play the games. Notice of events
15
+ (moves, captures, checks, etc.) are sent to a listener. Bangkok comes with a
16
+ listener that generates a MIDI file. In other words, the chess game is turned
17
+ into music."
18
+ autorequire: bangkok
19
+ default_executable:
20
+ bindir: bin
21
+ has_rdoc: true
22
+ required_ruby_version: !ruby/object:Gem::Version::Requirement
23
+ requirements:
24
+ -
25
+ - ">"
26
+ - !ruby/object:Gem::Version
27
+ version: 0.0.0
28
+ version:
29
+ platform: ruby
30
+ authors:
31
+ - Jim Menard
32
+ files:
33
+ - ChangeLog
34
+ - Credits
35
+ - README
36
+ - Rakefile
37
+ - TODO
38
+ - examples/announcer.rb
39
+ - examples/game.pgn
40
+ - examples/program_changes.rb
41
+ - install.rb
42
+ - lib/bangkok.rb
43
+ - lib/bangkok/board.rb
44
+ - lib/bangkok/chessgame.rb
45
+ - lib/bangkok/gamelistener.rb
46
+ - lib/bangkok/info.rb
47
+ - lib/bangkok/move.rb
48
+ - lib/bangkok/piece.rb
49
+ - lib/bangkok/square.rb
50
+ - test/mock_game_listener.rb
51
+ - test/test_piece.rb
52
+ - test/test_square.rb
53
+ test_files: []
54
+ rdoc_options:
55
+ - "--main"
56
+ - README
57
+ extra_rdoc_files:
58
+ - README
59
+ - TODO
60
+ executables:
61
+ - bangkok
62
+ extensions: []
63
+ requirements:
64
+ - midilib
65
+ dependencies:
66
+ - !ruby/object:Gem::Dependency
67
+ name: midilib
68
+ version_requirement:
69
+ version_requirements: !ruby/object:Gem::Version::Requirement
70
+ requirements:
71
+ -
72
+ - ">="
73
+ - !ruby/object:Gem::Version
74
+ version: 0.8.4
75
+ version: