glimmer 0.1.5.470 → 0.1.8.470

Sign up to get free protection for your applications and to get access to all the features.
Files changed (44) hide show
  1. checksums.yaml +4 -4
  2. data/.coveralls.yml +1 -0
  3. data/.rspec +2 -0
  4. data/Gemfile +2 -0
  5. data/README.markdown +7 -2
  6. data/Rakefile +7 -8
  7. data/TODO.md +1 -1
  8. data/VERSION +1 -1
  9. data/bin/girb +3 -0
  10. data/bin/girb_runner.rb +5 -0
  11. data/glimmer.gemspec +29 -19
  12. data/lib/glimmer_application.rb +1 -2
  13. data/lib/shine.rb +23 -21
  14. data/lib/xml_command_handlers/models/node.rb +11 -11
  15. data/lib/xml_command_handlers/models/xml_visitor.rb +12 -12
  16. data/samples/tictactoe/tic_tac_toe.rb +11 -11
  17. data/spec/lib/command_handlers/models/observable_model_spec.rb +22 -0
  18. data/spec/lib/command_handlers/models/r_widget_spec.rb +52 -0
  19. data/{test/glimmer_combo_data_binding_test.rb → spec/lib/glimmer__combo_data_binding__spec.rb} +48 -49
  20. data/spec/lib/glimmer__constant__spec.rb +30 -0
  21. data/{test/glimmer_data_binding_test.rb → spec/lib/glimmer__data_binding__spec.rb} +95 -94
  22. data/spec/lib/glimmer__list_data_binding__spec.rb +224 -0
  23. data/{test/glimmer_listeners_test.rb → spec/lib/glimmer__listeners__spec.rb} +18 -19
  24. data/spec/lib/glimmer__shine_data_binding__spec.rb +89 -0
  25. data/spec/lib/glimmer__tab_item__spec.rb +55 -0
  26. data/spec/lib/glimmer__table_data_binding__spec.rb +121 -0
  27. data/spec/lib/glimmer_spec.rb +251 -0
  28. data/spec/lib/xml/glimmer_xml_spec.rb +154 -0
  29. data/spec/samples/contactmanager/contact_manager_presenter_spec.rb +81 -0
  30. data/spec/samples/tictactoe/tic_tac_toe_spec.rb +263 -0
  31. data/spec/spec_helper.rb +123 -0
  32. metadata +50 -17
  33. data/test/glimmer_constant_test.rb +0 -30
  34. data/test/glimmer_list_data_binding_test.rb +0 -223
  35. data/test/glimmer_shine_data_binding_test.rb +0 -89
  36. data/test/glimmer_tab_item_test.rb +0 -61
  37. data/test/glimmer_table_data_binding_test.rb +0 -122
  38. data/test/glimmer_test.rb +0 -237
  39. data/test/helper.rb +0 -24
  40. data/test/observable_model_test.rb +0 -25
  41. data/test/r_widget_test.rb +0 -52
  42. data/test/samples/contactmanager/contact_manager_presenter_test.rb +0 -81
  43. data/test/samples/tictactoe/tic_tac_toe_test.rb +0 -262
  44. data/test/xml/glimmer_xml_test.rb +0 -163
data/test/glimmer_test.rb DELETED
@@ -1,237 +0,0 @@
1
- require_relative "helper"
2
-
3
- class GlimmerTest < Test::Unit::TestCase
4
- include Glimmer
5
-
6
- include_package 'org.eclipse.swt'
7
- include_package 'org.eclipse.swt.widgets'
8
- include_package 'org.eclipse.swt.layout'
9
- include_package 'org.eclipse.swt.graphics'
10
-
11
- def setup
12
- dsl :swt
13
- end
14
-
15
- def teardown
16
- @target.display.dispose if @target.display
17
- end
18
-
19
- def test_shell_with_default_layout
20
- @target = shell
21
-
22
- assert_not_nil @target
23
- assert_not_nil @target.widget
24
- assert_instance_of Shell, @target.widget
25
- assert_not_nil @target.widget.getLayout
26
- assert_instance_of FillLayout, @target.widget.getLayout
27
- end
28
-
29
- def test_shell_with_title_and_layout
30
- shell_layout = GridLayout.new
31
- @target = shell {
32
- text "Title"
33
- layout shell_layout
34
- }
35
-
36
- assert_equal "Title", @target.widget.getText
37
- assert_equal shell_layout, @target.widget.getLayout
38
- end
39
-
40
- def test_shell_with_bounds
41
- @target = shell {
42
- bounds 50, 75, 800, 600
43
- }
44
-
45
- assert_equal Rectangle.new(50, 75, 800, 600), @target.widget.getBounds
46
- end
47
-
48
- def test_shell_with_size
49
- GlimmerTest.class_eval("undef_method :size") #hack to remove existing size method in test class
50
-
51
- @target = shell {
52
- size 800, 600
53
- }
54
-
55
- assert_equal Point.new(800, 600), @target.widget.getSize
56
- end
57
-
58
- def test_shell_and_composite_with_default_style_and_layout
59
- @target = shell {
60
- composite
61
- }
62
-
63
- assert_equal 1, @target.widget.children.size
64
- assert_instance_of Composite, @target.widget.children[0]
65
- composite_widget = @target.widget.children[0]
66
- assert_has_style :none, composite_widget
67
- assert_instance_of GridLayout, composite_widget.getLayout
68
- grid_layout = composite_widget.getLayout
69
- assert_equal 1, grid_layout.numColumns
70
- assert_equal false, grid_layout.makeColumnsEqualWidth
71
- end
72
-
73
- def test_shell_and_group_with_default_style_and_layout
74
- @target = shell {
75
- group {
76
- text "Title"
77
- }
78
- }
79
-
80
- assert_equal 1, @target.widget.children.size
81
- assert_instance_of Group, @target.widget.children[0]
82
- group_widget = @target.widget.children[0]
83
- assert_has_style :none, group_widget
84
- assert_instance_of GridLayout, group_widget.getLayout
85
- grid_layout = group_widget.getLayout
86
- assert_equal 1, grid_layout.numColumns
87
- assert_equal false, grid_layout.makeColumnsEqualWidth
88
- assert_equal "Title", group_widget.getText
89
- end
90
-
91
- def test_shell_and_composite_with_style_and_layout
92
- composite_layout = RowLayout.new
93
- @target = shell {
94
- composite(:no_focus) {
95
- layout composite_layout
96
- }
97
- }
98
-
99
- assert_equal 1, @target.widget.children.size
100
- assert_instance_of Composite, @target.widget.children[0]
101
- composite_widget = @target.widget.children[0]
102
- assert_has_style :no_focus, composite_widget
103
- assert_equal composite_layout, composite_widget.getLayout
104
- end
105
-
106
- def test_shell_and_composite_and_text_with_default_style
107
- @target = shell {
108
- composite {
109
- text
110
- }
111
- }
112
-
113
- composite_widget = @target.widget.children[0]
114
- assert_equal 1, composite_widget.children.size
115
- assert_instance_of Text, composite_widget.children[0]
116
- text_widget = composite_widget.children[0]
117
- assert_has_style :border, text_widget
118
- end
119
-
120
- def test_shell_and_composite_with_custom_layout_and_text_with_default_style
121
- composite_layout = RowLayout.new
122
- @target = shell {
123
- composite {
124
- text
125
- layout composite_layout
126
- }
127
- }
128
-
129
- composite_widget = @target.widget.children[0]
130
- assert_equal composite_layout, composite_widget.getLayout
131
- assert_equal 1, composite_widget.children.size
132
- assert_instance_of Text, composite_widget.children[0]
133
- text_widget = composite_widget.children[0]
134
- assert_has_style :border, text_widget
135
- end
136
-
137
- def test_shell_and_composite_and_text_with_style_and_text
138
- @target = shell {
139
- composite {
140
- text(:password) {
141
- text "Hello"
142
- }
143
- }
144
- }
145
-
146
- composite_widget = @target.widget.children[0]
147
- assert_equal 1, composite_widget.children.size
148
- assert_instance_of Text, composite_widget.children[0]
149
- text_widget = composite_widget.children[0]
150
- assert_has_style :password, text_widget
151
- assert_equal "Hello", text_widget.getText
152
- end
153
-
154
- def test_shell_and_spinner_default
155
- @target = shell {
156
- @spinner = spinner {
157
- selection 55
158
- }
159
- }
160
-
161
- assert_instance_of Spinner, @spinner.widget
162
- assert_has_style :border, @spinner.widget
163
- assert_equal 55, @spinner.widget.getSelection
164
- end
165
-
166
- def test_shell_and_list_default
167
- @target = shell {
168
- @list = list {
169
- }
170
- }
171
-
172
- assert_instance_of List, @list.widget
173
- assert_has_style :border, @list.widget
174
- assert_has_style :single, @list.widget
175
- assert_has_style :v_scroll, @list.widget
176
- end
177
-
178
- def test_shell_and_button_default
179
- @target = shell {
180
- @button = button {
181
- text "Push Me"
182
- }
183
- }
184
-
185
- assert_instance_of Button, @button.widget
186
- assert_has_style :push, @button.widget
187
- assert_equal "Push Me", @button.widget.text
188
- end
189
-
190
- def test_shell_and_table_and_table_column_defaults
191
- @target = shell {
192
- @table = table {
193
- @table_column = table_column
194
- }
195
- }
196
-
197
- assert_has_style :border, @table.widget
198
- assert @table.widget.getHeaderVisible
199
- assert @table.widget.getLinesVisible
200
- assert_equal 80, @table_column.widget.getWidth
201
- end
202
-
203
- def test_shell_containing_undefined_command
204
- @target = shell {
205
- undefined_command(:undefined_parameter) {
206
- }
207
- }
208
-
209
- assert_not_nil @target
210
- assert_not_nil @target.widget
211
- assert_instance_of Shell, @target.widget
212
- assert_not_nil @target.widget.getLayout
213
- assert_instance_of FillLayout, @target.widget.getLayout
214
- end
215
-
216
-
217
- def test_add_contents
218
- @target = shell {
219
- }
220
-
221
- add_contents(@target) {
222
- composite {
223
- text(:password) {
224
- text "Hello"
225
- }
226
- }
227
- }
228
-
229
- composite_widget = @target.widget.children[0]
230
- assert_equal 1, composite_widget.children.size
231
- assert_instance_of Text, composite_widget.children[0]
232
- text_widget = composite_widget.children[0]
233
- assert_has_style :password, text_widget
234
- assert_equal "Hello", text_widget.getText
235
- end
236
-
237
- end
data/test/helper.rb DELETED
@@ -1,24 +0,0 @@
1
- require 'rubygems'
2
- require 'simplecov'
3
- SimpleCov.start
4
- require 'bundler'
5
- require 'test/unit'
6
- require 'puts_debuggerer'
7
-
8
- begin
9
- Bundler.setup(:default, :development)
10
- rescue Bundler::BundlerError => e
11
- $stderr.puts e.message
12
- $stderr.puts "Run `bundle install` to install missing gems"
13
- exit e.status_code
14
- end
15
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'lib'))
16
- $LOAD_PATH.unshift(File.join(File.dirname(__FILE__), '..', 'samples'))
17
- $LOAD_PATH.unshift(File.dirname(__FILE__))
18
- require 'glimmer'
19
-
20
- class Test::Unit::TestCase
21
- def assert_has_style(style, widget)
22
- assert_equal style.swt_constant, widget.getStyle & style.swt_constant
23
- end
24
- end
@@ -1,25 +0,0 @@
1
- require_relative "helper"
2
-
3
- require_relative "../lib/command_handlers/models/observable_model"
4
-
5
- require "test/unit"
6
- class ObservableModelTest < Test::Unit::TestCase
7
- class Person
8
- attr_accessor :name
9
- end
10
-
11
- def test_observe_model
12
- person = Person.new
13
- person.name = "Marty"
14
- assert_equal "Marty", person.name
15
- person.extend ObservableModel
16
- person.add_observer(:name, self)
17
- person.name = "Julia"
18
- assert_equal "Julia", @observed_name
19
- assert_equal "Julia", person.name
20
- end
21
-
22
- def update(name)
23
- @observed_name = name
24
- end
25
- end
@@ -1,52 +0,0 @@
1
- require_relative "helper"
2
-
3
- class RWidgetTest < Test::Unit::TestCase
4
- include Glimmer
5
-
6
- def setup
7
- dsl :swt
8
- end
9
-
10
- def test_async_exec
11
- @target = shell {
12
- @text = text {
13
- text "text1"
14
- }
15
- }
16
-
17
- @target.async_exec do
18
- @text.widget.setText("text2")
19
- end
20
-
21
- @target.async_exec do
22
- assert_equal "text2", @text.widget.getText
23
- @target.widget.close
24
- end
25
-
26
- @target.open
27
- end
28
-
29
- def test_sync_exec
30
- @target = shell {
31
- @text = text {
32
- text "text1"
33
- }
34
- }
35
-
36
- @target.async_exec do
37
- assert_equal "text2", @text.widget.getText
38
- @text.widget.setText("text3")
39
- end
40
-
41
- @target.sync_exec do
42
- @text.widget.setText("text2")
43
- end
44
-
45
- @target.async_exec do
46
- @target.widget.close
47
- end
48
-
49
- @target.open
50
- end
51
-
52
- end
@@ -1,81 +0,0 @@
1
- require_relative "../../helper"
2
- require_relative "../../../samples/contactmanager/contact_manager_presenter"
3
-
4
- class ContactManagerPresenterTest < Test::Unit::TestCase
5
-
6
- def test_find_specify_all_fields_for_one_result
7
- contact_manager_presenter = ContactManagerPresenter.new
8
- contact_manager_presenter.first_name = "Frank"
9
- contact_manager_presenter.last_name = "Deelio"
10
- contact_manager_presenter.email = "frank@deelio.com"
11
- contact_manager_presenter.find
12
- contacts = contact_manager_presenter.results
13
- assert_not_nil contacts
14
- assert_equal 1, contacts.size
15
- contact = contacts[0]
16
- assert contact.is_a?(Contact)
17
- assert_equal "Frank", contact.first_name
18
- assert_equal "Deelio", contact.last_name
19
- assert_equal "frank@deelio.com", contact.email
20
- end
21
-
22
- def test_find_specify_one_field_for_two_results
23
- contact_manager_presenter = ContactManagerPresenter.new
24
- contact_manager_presenter.first_name = "Frank"
25
- contact_manager_presenter.find
26
- contacts = contact_manager_presenter.results
27
- assert_not_nil contacts
28
- assert_equal 2, contacts.size
29
- contact1 = contacts[0]
30
- contact2 = contacts[1]
31
- assert_equal "Frank", contact1.first_name
32
- assert_equal "Deelio", contact1.last_name
33
- assert_equal "frank@deelio.com", contact1.email
34
- assert_equal "franky", contact2.first_name
35
- assert_equal "miller", contact2.last_name
36
- assert_equal "frank@miller.com", contact2.email
37
- end
38
-
39
- def test_find_specify_all_fields_for_no_results
40
- contact_manager_presenter = ContactManagerPresenter.new
41
- contact_manager_presenter.first_name = "Julia"
42
- contact_manager_presenter.last_name = "Big"
43
- contact_manager_presenter.email = "julia@big.com"
44
- contact_manager_presenter.find
45
- contacts = contact_manager_presenter.results
46
- assert_not_nil contacts
47
- assert_equal 0, contacts.size
48
- end
49
-
50
- def test_find_specify_no_fields_for_all_results
51
- contact_manager_presenter = ContactManagerPresenter.new
52
- contact_manager_presenter.find
53
- contacts = contact_manager_presenter.results
54
- assert_not_nil contacts
55
- assert_equal 4, contacts.size
56
- assert_equal "Anne", contacts[0].first_name
57
- assert_equal "Beatrice", contacts[1].first_name
58
- assert_equal "Frank", contacts[2].first_name
59
- assert_equal "franky", contacts[3].first_name
60
- end
61
-
62
- def test_list_all_results
63
- contact_manager_presenter = ContactManagerPresenter.new
64
- contact_manager_presenter.list
65
- contacts = contact_manager_presenter.results
66
- assert_not_nil contacts
67
- assert_equal 4, contacts.size
68
- assert_equal "Anne", contacts[0].first_name
69
- assert_equal "Beatrice", contacts[1].first_name
70
- assert_equal "Frank", contacts[2].first_name
71
- assert_equal "franky", contacts[3].first_name
72
- end
73
-
74
- def test_initial_results
75
- contact_manager_presenter = ContactManagerPresenter.new
76
- contacts = contact_manager_presenter.results
77
- assert_not_nil contacts
78
- assert_equal 0, contacts.size
79
- end
80
-
81
- end
@@ -1,262 +0,0 @@
1
- require_relative "../../helper"
2
- require_relative "../../../samples/tictactoe/tic_tac_toe_board"
3
-
4
- class TicTacToeTest < Test::Unit::TestCase
5
-
6
- def setup
7
- @board = TicTacToeBoard.new
8
- end
9
-
10
- def test_mark_center_x
11
- assert_equal("", @board.box(2, 2).sign)
12
- @board.mark_box(2, 2)
13
- assert ! @board.box(2, 2).empty
14
- assert_equal("X", @board.box(2, 2).sign)
15
- assert @board.box(1, 1).empty
16
- assert @board.box(1, 2).empty
17
- assert @board.box(1, 3).empty
18
- assert @board.box(2, 1).empty
19
- assert @board.box(2, 3).empty
20
- assert @board.box(3, 1).empty
21
- assert @board.box(3, 2).empty
22
- assert @board.box(3, 3).empty
23
- end
24
-
25
- def test_mark_center_x_top_center_o_bottom_right_x
26
- @board.mark_box(2, 2)
27
- @board.mark_box(1, 2)
28
- @board.mark_box(3, 3)
29
- assert ! @board.box(2, 2).empty
30
- assert ! @board.box(1, 2).empty
31
- assert ! @board.box(3, 3).empty
32
- assert_equal("X", @board.box(2, 2).sign)
33
- assert_equal("O", @board.box(1, 2).sign)
34
- assert_equal("X", @board.box(3, 3).sign)
35
- end
36
-
37
- def test_top_center_not_marked
38
- assert @board.box(1, 2).empty
39
- end
40
-
41
- def test_top_right_marked
42
- @board.mark_box(1, 3)
43
- assert ! @board.box(1, 3).empty
44
- end
45
-
46
- def test_lower_right_marked
47
- @board.mark_box(3, 3)
48
- assert ! @board.box(3, 3).empty
49
- end
50
-
51
- def test_game_over_false
52
- assert ! @board.game_over?
53
- assert_equal "X", @board.current_sign
54
- assert_equal TicTacToeBoard::IN_PROGRESS, @board.game_status
55
- end
56
-
57
- def test_game_over_X_wins_top_row_across
58
- @board.mark_box(1, 1)
59
- assert_equal("X", @board.box(1, 1).sign)
60
- @board.mark_box(2, 1)
61
- assert_equal("O", @board.box(2, 1).sign)
62
- @board.mark_box(1, 2)
63
- assert_equal("X", @board.box(1, 2).sign)
64
- @board.mark_box(2, 2)
65
- assert_equal("O", @board.box(2, 2).sign)
66
- @board.mark_box(1, 3)
67
- assert_equal("X", @board.box(1, 3).sign)
68
- assert @board.game_over?
69
- assert_equal "X", @board.winning_sign
70
- assert_equal TicTacToeBoard::WIN, @board.game_status
71
- end
72
-
73
- def test_game_over_O_wins_top_row_across
74
- @board.mark_box(2, 1)
75
- @board.mark_box(1, 1)
76
- @board.mark_box(2, 2)
77
- @board.mark_box(1, 2)
78
- @board.mark_box(3, 3)
79
- @board.mark_box(1, 3)
80
- assert @board.game_over?
81
- assert_equal "O", @board.winning_sign
82
- end
83
-
84
- def test_game_over_X_wins_second_row_across
85
- @board.mark_box(2, 1)
86
- @board.mark_box(1, 1)
87
- @board.mark_box(2, 2)
88
- @board.mark_box(1, 2)
89
- @board.mark_box(2, 3)
90
- assert @board.game_over?
91
- assert_equal "X", @board.winning_sign
92
- end
93
-
94
- def test_game_over_O_wins_second_row_across
95
- @board.mark_box(1, 1)
96
- @board.mark_box(2, 1)
97
- @board.mark_box(3, 1)
98
- @board.mark_box(2, 2)
99
- @board.mark_box(1, 2)
100
- @board.mark_box(2, 3)
101
- assert @board.game_over?
102
- assert_equal "O", @board.winning_sign
103
- end
104
-
105
- def test_game_over_X_wins_third_row_across
106
- @board.mark_box(3, 1)
107
- @board.mark_box(1, 1)
108
- @board.mark_box(3, 2)
109
- @board.mark_box(1, 2)
110
- @board.mark_box(3, 3)
111
- assert @board.game_over?
112
- assert_equal "X", @board.winning_sign
113
- end
114
-
115
- def test_game_over_O_wins_third_row_across
116
- @board.mark_box(1, 1)
117
- @board.mark_box(3, 1)
118
- @board.mark_box(1, 2)
119
- @board.mark_box(3, 2)
120
- @board.mark_box(2, 3)
121
- @board.mark_box(3, 3)
122
- assert @board.game_over?
123
- end
124
-
125
- def test_game_over_X_wins_first_column_down
126
- @board.mark_box(1, 1)
127
- @board.mark_box(2, 2)
128
- @board.mark_box(2, 1)
129
- @board.mark_box(3, 2)
130
- @board.mark_box(3, 1)
131
- assert @board.game_over?
132
- assert_equal "X", @board.winning_sign
133
- end
134
-
135
- def test_game_over_O_wins_first_column_down
136
- @board.mark_box(2, 2)
137
- @board.mark_box(1, 1)
138
- @board.mark_box(3, 2)
139
- @board.mark_box(2, 1)
140
- @board.mark_box(3, 3)
141
- @board.mark_box(3, 1)
142
- assert @board.game_over?
143
- end
144
-
145
- def test_game_over_X_wins_second_column_down
146
- @board.mark_box(1, 2)
147
- @board.mark_box(2, 1)
148
- @board.mark_box(2, 2)
149
- @board.mark_box(3, 1)
150
- @board.mark_box(3, 2)
151
- assert @board.game_over?
152
- assert_equal "X", @board.winning_sign
153
- end
154
-
155
- def test_game_over_O_wins_second_column_down
156
- @board.mark_box(2, 1)
157
- @board.mark_box(1, 2)
158
- @board.mark_box(3, 1)
159
- @board.mark_box(2, 2)
160
- @board.mark_box(2, 3)
161
- @board.mark_box(3, 2)
162
- assert @board.game_over?
163
- assert_equal "O", @board.winning_sign
164
- end
165
-
166
- def test_game_over_X_wins_third_column_down
167
- @board.mark_box(1, 3)
168
- @board.mark_box(2, 1)
169
- @board.mark_box(2, 3)
170
- @board.mark_box(3, 1)
171
- @board.mark_box(3, 3)
172
- assert @board.game_over?
173
- assert_equal "X", @board.winning_sign
174
- end
175
-
176
- def test_game_over_O_wins_third_column_down
177
- @board.mark_box(2, 1)
178
- @board.mark_box(1, 3)
179
- @board.mark_box(3, 1)
180
- @board.mark_box(2, 3)
181
- @board.mark_box(3, 2)
182
- @board.mark_box(3, 3)
183
- assert @board.game_over?
184
- assert_equal "O", @board.winning_sign
185
- end
186
-
187
- def test_game_over_X_wins_top_left_to_bottom_right
188
- @board.mark_box(1, 1)
189
- @board.mark_box(2, 1)
190
- @board.mark_box(2, 2)
191
- @board.mark_box(3, 2)
192
- @board.mark_box(3, 3)
193
- assert_equal "X", @board.winning_sign
194
- assert @board.game_over?
195
- end
196
-
197
- def test_game_over_O_wins_top_left_to_bottom_right
198
- @board.mark_box(2, 1)
199
- @board.mark_box(1, 1)
200
- @board.mark_box(3, 2)
201
- @board.mark_box(2, 2)
202
- @board.mark_box(2, 3)
203
- @board.mark_box(3, 3)
204
- assert_equal "O", @board.winning_sign
205
- assert @board.game_over?
206
- end
207
-
208
- def test_game_over_X_wins_top_right_to_bottom_left
209
- @board.mark_box(1, 3)
210
- @board.mark_box(2, 1)
211
- @board.mark_box(2, 2)
212
- @board.mark_box(3, 2)
213
- @board.mark_box(3, 1)
214
- assert_equal "X", @board.winning_sign
215
- assert @board.game_over?
216
- end
217
-
218
- def test_game_over_O_wins_top_right_to_bottom_left
219
- @board.mark_box(2, 1)
220
- @board.mark_box(1, 3)
221
- @board.mark_box(3, 2)
222
- @board.mark_box(2, 2)
223
- @board.mark_box(1, 1)
224
- @board.mark_box(3, 1)
225
- assert_equal "O", @board.winning_sign
226
- assert @board.game_over?
227
- end
228
-
229
- # 1 2 3
230
- #1 x o x
231
- #2 o x x
232
- #3 o x o
233
- def test_game_over_draw
234
- @board.mark_box(1, 1)
235
- @board.mark_box(1, 2)
236
- @board.mark_box(1, 3)
237
- @board.mark_box(2, 1)
238
- @board.mark_box(2, 2)
239
- @board.mark_box(3, 1)
240
- @board.mark_box(2, 3)
241
- @board.mark_box(3, 3)
242
- assert ! @board.game_over?
243
- @board.mark_box(3, 2)
244
- assert @board.game_over?
245
- assert_equal TicTacToeBox::EMPTY, @board.winning_sign
246
- assert_equal TicTacToeBoard::DRAW, @board.game_status
247
- end
248
-
249
- def test_reset
250
- @board.mark_box(1, 3)
251
- @board.mark_box(2, 1)
252
- @board.mark_box(2, 2)
253
- @board.mark_box(3, 2)
254
- @board.mark_box(3, 1)
255
- @board.reset
256
- assert ! @board.game_over?
257
- assert_equal TicTacToeBox::EMPTY, @board.winning_sign
258
- assert_equal TicTacToeBoard::IN_PROGRESS, @board.game_status
259
- assert_equal "X", @board.current_sign
260
- end
261
-
262
- end