dragongoserver 0.1.1 → 0.3.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,10 @@
1
+ # class Game is the representation of a single game at the Dragongoserver site
2
+
3
+ class Game
4
+
5
+ def initialize
6
+ @id = nil
7
+
8
+ end
9
+
10
+ end
@@ -1,8 +1,8 @@
1
1
  module Dragongoserver #:nodoc:
2
2
  module VERSION #:nodoc:
3
3
  MAJOR = 0
4
- MINOR = 1
5
- TINY = 1
4
+ MINOR = 3
5
+ TINY = 0
6
6
 
7
7
  STRING = [MAJOR, MINOR, TINY].join('.')
8
8
  end
@@ -9,17 +9,23 @@ end
9
9
  class TestDragongoserver < Test::Unit::TestCase
10
10
 
11
11
  BIN_PREFIX = 'bin/'
12
- MY_USERID=10737 # FIXME:
12
+ MY_USERID = 10737
13
+ MY_RANK = 25
14
+ MY_USERNAME = 'thopre'
15
+ TEST_BIN = true # soll dgs-Kommando getestet werden?
13
16
 
14
17
  def setup
15
18
  dgs_username = ENV['DGS_USERNAME']
16
19
  dgs_password = ENV['DGS_PASSWORD']
17
20
  @dgs = Dgs.new(dgs_username, dgs_password)
18
- @thomas_rank = GoRank.new(29, :kyu)
21
+ @thomas_rank = GoRank.new MY_RANK, :kyu
22
+ unless MY_USERID == @dgs.userid
23
+ raise "the test might not work for you because you are not the author of this gem"
24
+ end
19
25
  end
20
26
 
21
27
  def test_username
22
- assert_equal 'thopre', @dgs.username, "username 'thopre' expected"
28
+ assert_equal MY_USERNAME, @dgs.username, "username #{MY_USERNAME} expected"
23
29
  # there should be NO method to get the password
24
30
  assert_raises(NoMethodError) {
25
31
  assert_equal 'not the real password', @dgs.password
@@ -28,22 +34,25 @@ class TestDragongoserver < Test::Unit::TestCase
28
34
 
29
35
  def test_get_rank
30
36
  assert_equal @thomas_rank.to_s, @dgs.get_rank.to_s,
31
- "does not match thopre's rank - or his rank has been changed"
37
+ "does not match #{MY_USERNAME}'s rank - or his rank has changed"
32
38
  end
33
39
 
34
40
  def test_waiting_games
35
- after Date.new(2008,5,25) do
41
+ after Date.new(2009,8,11) do
36
42
  zlist = @dgs.waiting_games
37
43
  assert zlist.kind_of?(Array)
38
- # assert_equal [1,2,3], zlist
39
- assert zlist == [] or games_in_300_000(zlist)
44
+ #assert_equal [452_684,
45
+ # 452_685,
46
+ #], zlist
47
+ assert zlist == [] or games_in_300_000_thru_500_000(zlist)
40
48
  end
41
49
  end
42
50
 
43
- def games_in_300_000(a)
51
+ def games_in_300_000_thru_500_000(a)
44
52
  result = true
45
53
  a.each { |item|
46
- if item < 300_000 or item > 399_999
54
+ p item
55
+ if item < 300_000 or item > 500_000
47
56
  result = false
48
57
  break
49
58
  end
@@ -57,8 +66,10 @@ class TestDragongoserver < Test::Unit::TestCase
57
66
  end
58
67
 
59
68
  def test_bug_duplicate_numbers_running_games
60
- zlist = @dgs.running_games
61
- assert_equal zlist.uniq, zlist
69
+ after Date.new(2008,12,28) do
70
+ zlist = @dgs.running_games
71
+ assert_equal zlist.uniq, zlist
72
+ end
62
73
  end
63
74
 
64
75
  def test_running_games
@@ -68,15 +79,20 @@ class TestDragongoserver < Test::Unit::TestCase
68
79
 
69
80
  # programm 'dgs' should be found
70
81
  def test_bin_dgs_version
82
+ if TEST_BIN
71
83
  assert_equal "dgs " + Dragongoserver::VERSION::STRING + "\n", `#{BIN_PREFIX}dgs -v`
72
84
  assert_equal "dgs " + Dragongoserver::VERSION::STRING + "\n", `#{BIN_PREFIX}dgs --version`
85
+ end
73
86
  end
74
87
 
75
88
  # test waiting moves for me
76
89
  def test_bin_dgs_waiting
77
- after Date.new(2008,5,25) do
78
- assert_equal "lalala", `#{BIN_PREFIX}dgs -w`
79
- assert_equal "lalala", `#{BIN_PREFIX}dgs -waiting`
90
+ if TEST_BIN
91
+ after Date.new(2009,1,16) do
92
+ expected = ""
93
+ assert_equal expected, `#{BIN_PREFIX}dgs -w`
94
+ assert_equal expected, `#{BIN_PREFIX}dgs --waiting`
95
+ end
80
96
  end
81
97
  end
82
98
 
@@ -86,44 +102,80 @@ class TestDragongoserver < Test::Unit::TestCase
86
102
 
87
103
  # test my running games
88
104
  def test_bin_dgs_running
89
- after Date.new(2008,4,27) do
90
- expected = "you have a total of 29 running games
105
+ if TEST_BIN
106
+ games = [
107
+ 459553,
108
+ 460420,
109
+ 460478,
110
+ 455141,
111
+ 452102,
112
+ 450082,
113
+ 460057,
114
+ 457788,
115
+ 459753,
116
+ 459516,
117
+ 458426,
118
+ 460190,
119
+ 460642,
120
+ 460834,
121
+ 460546,
122
+ 457924,
123
+ 457527,
124
+ 455596,
125
+ 455595,
126
+ 458150,
127
+ 452576,
128
+ 460160,
129
+ 460280,
130
+ 458433,
131
+ 459699,
132
+ 460938,
133
+ 459842,
134
+ 457470,
135
+ 457678,
136
+ 460709,
137
+ 455099,
138
+ 460616,
139
+ 460414,
140
+ 459799,
141
+ 343676,
142
+ ]
143
+ expected_array = ''
144
+ games.uniq.sort.each{ |g|
145
+ expected_array << "#{g}\n"
146
+ }
147
+ expected = "you have a total of 44 running games
148
+ running games:\n"+expected_array
149
+ assert_equal expected, `#{BIN_PREFIX}dgs -r`
150
+ assert_equal expected, `#{BIN_PREFIX}dgs --running`
91
151
  end
92
- 366511
93
- 372651
94
- 366534
95
- 340021
96
- 244839
97
- 366494
98
- 369415
99
- 369412
100
- 369306
101
- 369303
102
- 366535"
103
-
104
- assert_equal expected, `#{BIN_PREFIX}dgs -r`
105
- assert_equal expected, `#{BIN_PREFIX}dgs -running`
106
- end
107
152
  end
108
153
 
109
154
  def test_bin_dgs_add_game
110
- after Date.new(2008,5,1) do
155
+ if TEST_BIN
156
+ after Date.new(2009,1,9) do
111
157
  assert_equal "Games was added to the waitingroom", `#{BIN_PREFIX}dgs --add-game`
112
158
  end
113
159
  end
160
+ end
114
161
 
115
162
  def test_bin_dgs_userinfo
116
- after Date.new(2008,5,26) do
163
+ if TEST_BIN
164
+ after Date.new(2009,1,16) do
117
165
  expected = "Userinfo"
118
- assert_equal expected, `#{BIN_PREFIX}dgs --userinfo thopre`
166
+ assert_equal expected, `#{BIN_PREFIX}dgs --userinfo #{MY_USERNAME}`
119
167
  end
120
168
  end
169
+ end
121
170
 
122
171
  def test_bin_dgs_minwait
123
- after Date.new(2008,4,28) do
172
+ if TEST_BIN
173
+ after Date.new(2009,1,8) do
174
+ expected = 'FIXME'
124
175
  assert_equal expected, `#{BIN_PREFIX}dgs --min-wait 5`
125
176
  end
126
177
  end
178
+ end
127
179
 
128
180
  def test_userinfo_name
129
181
  assert @dgs.userinfo != nil, "userinfo not set"
@@ -132,12 +184,14 @@ class TestDragongoserver < Test::Unit::TestCase
132
184
 
133
185
  def test_userinfo_userid
134
186
  assert @dgs.userinfo != nil, "userinfo not set"
135
- assert_equal 'thopre', @dgs.userinfo[:userid]
187
+ assert_equal MY_USERNAME, @dgs.userinfo[:userid]
136
188
  end
137
189
 
138
190
  def test_userinfo_city
139
- assert @dgs.userinfo != nil, "userinfo not set"
140
- assert_equal 'Berlin', @dgs.userinfo[:city]
191
+ after Date.new(2008,12,28) do
192
+ assert @dgs.userinfo != nil, "userinfo not set"
193
+ assert_equal 'Berlin', @dgs.userinfo[:city]
194
+ end
141
195
  end
142
196
 
143
197
  def test_userinfo_country
@@ -152,26 +206,24 @@ class TestDragongoserver < Test::Unit::TestCase
152
206
  end
153
207
 
154
208
  def test_userinfo_1_10
155
- after Date.new(2008,5,5) do
209
+ after Date.new(2009,7,15) do
156
210
  assert @dgs.userinfo(1) != nil, "userinfo not set"
157
211
  assert_equal 'Guest', @dgs.userinfo(1)[:name]
158
212
 
159
- after Date.new(2008,6,1) do
160
- assert @dgs.userinfo(2) != nil, "userinfo not set"
161
- assert_equal 'Erik O', @dgs.userinfo(2)[:name]
213
+ assert @dgs.userinfo(2) != nil, "userinfo not set"
214
+ assert_equal 'Erik O', @dgs.userinfo(2)[:name]
162
215
 
163
- assert @dgs.userinfo(3) != nil, "userinfo not set"
164
- assert_equal 'No name', @dgs.userinfo(3)[:name]
216
+ assert @dgs.userinfo(3) != nil, "userinfo not set"
217
+ assert_equal 'No name', @dgs.userinfo(3)[:name]
165
218
 
166
- assert @dgs.userinfo(4) != nil, "userinfo not set"
167
- assert_equal 'Alexandre Girardot', @dgs.userinfo(4)[:name]
219
+ assert @dgs.userinfo(4) != nil, "userinfo not set"
220
+ assert_equal 'Alexandre Girardot', @dgs.userinfo(4)[:name]
168
221
 
169
- assert @dgs.userinfo(5) != nil, "userinfo not set"
170
- assert_equal 'Ma8e', @dgs.userinfo(5)[:name]
222
+ assert @dgs.userinfo(5) != nil, "userinfo not set"
223
+ assert_equal 'Ma8e', @dgs.userinfo(5)[:name]
171
224
 
172
- assert @dgs.userinfo(6) != nil, "userinfo not set"
173
- assert_equal 'Roses', @dgs.userinfo(6)[:name]
174
- end
225
+ assert @dgs.userinfo(6) != nil, "userinfo not set"
226
+ assert_equal 'Roses', @dgs.userinfo(6)[:name]
175
227
  end
176
228
  end
177
229
 
@@ -194,8 +246,95 @@ class TestDragongoserver < Test::Unit::TestCase
194
246
  end
195
247
 
196
248
  def test_gameinfo_page
197
- #http://www.dragongoserver.net/game.php?gid=395863
198
- assert_equal "Lukas Zach (lukaszach)", @dgs.gameinfo(395863)[:black][:name]
199
- assert_equal "Thomas Preymesser (thopre)", @dgs.gameinfo(395863)[:white][:name]
249
+ after Date.new(2008,12,27) do
250
+ #http://www.dragongoserver.net/game.php?gid=395863
251
+ assert_equal "Lukas Zach (lukaszach)", @dgs.gameinfo(395863)[:black][:name]
252
+ assert_equal "Thomas Preymesser (thopre)", @dgs.gameinfo(395863)[:white][:name]
253
+ end
254
+ end
255
+
256
+ def test_finished_games_1
257
+ after Date.new(2009,7,15) do
258
+ # http://www.dragongoserver.net/show_games.php?uid=31098&finished=1
259
+ assert @dgs.finished_games_for_user(31098)
260
+ finished = @dgs.finished_games_for_user(31098)
261
+ assert finished.kind_of?(Array)
262
+ assert_equal [
263
+ {:id => 391681, :finished_at => Date.new(2008,4,19), :player_color => :white, :winner => :black, :reason => 'Time'},
264
+ {:id => 390209, :finished_at => Date.new(2008,4,13), :player_color => :white, :winner => :black, :reason => 'Time'},
265
+ {:id => 358277, :finished_at => Date.new(2008,4,8), :player_color => :white, :winner => :black, :reason => 'Time'},
266
+ ][0,3], finished[0,3]
267
+ end
268
+ end
269
+ # noch nicht fertig
270
+
271
+ #gleicher User 9 Spiele verloren wegen Time
272
+ def test_finished_games_2
273
+ after Date.new(2009,7,12) do
274
+ finished = @dgs.finished_games_for_user(31098)
275
+ count = 0
276
+ finished.each {|g|
277
+ if g[:reason] == 'Time' and
278
+ g[:winner] != g[:player_color]
279
+ #p g[:winner] #
280
+ #g[:winner] != g[:player_color]
281
+ count += 1
282
+ end
283
+ }
284
+ assert_equal 9, count
285
+ end
286
+ end
287
+
288
+ # soll alle Spiel von mir liefern
289
+ def test_games
290
+ after Date.new(2009,10,7) do
291
+ # noch nicht fertig
292
+ list = @dgs.games
293
+ assert_equal [1,2,3], list
294
+ end
295
+ end
296
+
297
+ # soll alle meine noch laufenden Spiele liefern
298
+ def test_running_games
299
+ after Date.new(2009,7,13) do
300
+ list = @dgs.running_games
301
+ assert_equal [
302
+ 452685,
303
+ 452684,
304
+ 454746,
305
+ 452642,
306
+ 455469,
307
+ 453390,
308
+ 454814,
309
+ 455099,
310
+ 453143,
311
+ 455141,
312
+ 453133,
313
+ 454822,
314
+ 452102,
315
+ 455278,
316
+ 454849,
317
+ 454731,
318
+ 452315,
319
+ 452635,
320
+ 452727,
321
+ 343676,
322
+ 452576,
323
+ ], list
324
+ end
325
+ end
326
+
327
+ # soll alle meine beendeten Spiele liefern
328
+ def test_finished_games
329
+ after Date.new(2009,7,20) do
330
+ # list = @dgs.finished_games
331
+ list = @dgs.finished_games_ids
332
+ assert_equal 580, list.size # Stand 2008-12-19
333
+ # die ersten beendeten Spiele
334
+ assert_equal [95381,95383,95384], list.sort[0,3]
335
+ # alles dazwischen lassen wir aus, da das unuebersehbar waere
336
+ # die letzten beendeten Spiele
337
+ assert_equal [422893,453143,453390], list.sort[-3,3]
338
+ end
200
339
  end
201
340
  end
data/test/test_helper.rb CHANGED
@@ -1,2 +1,3 @@
1
+ require 'stringio'
1
2
  require 'test/unit'
2
3
  require File.dirname(__FILE__) + '/../lib/dragongoserver'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: dragongoserver
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.3.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Thomas Preymesser
@@ -9,84 +9,43 @@ autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
11
 
12
- date: 2008-04-27 00:00:00 +02:00
12
+ date: 2009-07-10 00:00:00 +02:00
13
13
  default_executable:
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: mechanize
17
+ type: :runtime
17
18
  version_requirement:
18
19
  version_requirements: !ruby/object:Gem::Requirement
19
20
  requirements:
20
21
  - - ">="
21
22
  - !ruby/object:Gem::Version
22
- version: 0.0.1
23
+ version: 0.9.2
23
24
  version:
24
- - !ruby/object:Gem::Dependency
25
- name: go-rank
26
- version_requirement:
27
- version_requirements: !ruby/object:Gem::Requirement
28
- requirements:
29
- - - ">="
30
- - !ruby/object:Gem::Version
31
- version: 0.0.1
32
- version:
33
- - !ruby/object:Gem::Dependency
34
- name: choice
35
- version_requirement:
36
- version_requirements: !ruby/object:Gem::Requirement
37
- requirements:
38
- - - ">="
39
- - !ruby/object:Gem::Version
40
- version: 0.1.2
41
- version:
42
- - !ruby/object:Gem::Dependency
43
- name: hpricot
44
- version_requirement:
45
- version_requirements: !ruby/object:Gem::Requirement
46
- requirements:
47
- - - ">="
48
- - !ruby/object:Gem::Version
49
- version: "0.6"
50
- version:
51
- description: Dragongoserver functions
25
+ description: Playing Go at www.dragongoserver.net - a set of Ruby functions/commands
52
26
  email: thopre@gmail.com
53
27
  executables:
54
28
  - dgs
55
29
  extensions: []
56
30
 
57
- extra_rdoc_files:
58
- - History.txt
59
- - License.txt
60
- - Manifest.txt
61
- - README.txt
31
+ extra_rdoc_files: []
32
+
62
33
  files:
63
- - History.txt
64
- - License.txt
65
- - Manifest.txt
66
34
  - README.txt
67
- - Rakefile
68
- - bin/dgs
69
- - config/hoe.rb
70
- - config/requirements.rb
71
- - examples/example1.rb
72
- - lib/dragongoserver.rb
73
- - lib/dragongoserver/dragongoserver.rb
35
+ - History.txt
74
36
  - lib/dragongoserver/version.rb
75
- - log/debug.log
76
- - script/destroy
77
- - script/generate
78
- - setup.rb
79
- - tasks/deployment.rake
80
- - tasks/environment.rake
81
- - tasks/website.rake
82
- - test/test_dragongoserver.rb
37
+ - lib/dragongoserver/game.rb
38
+ - lib/dragongoserver/dragongoserver.rb
39
+ - lib/dragongoserver.rb
83
40
  - test/test_helper.rb
41
+ - test/test_dragongoserver.rb
84
42
  has_rdoc: true
85
- homepage: http://dragongoserver.rubyforge.org
43
+ homepage: http://multistockphoto.rubyforge.org
44
+ licenses: []
45
+
86
46
  post_install_message:
87
- rdoc_options:
88
- - --main
89
- - README.txt
47
+ rdoc_options: []
48
+
90
49
  require_paths:
91
50
  - lib
92
51
  required_ruby_version: !ruby/object:Gem::Requirement
@@ -103,11 +62,11 @@ required_rubygems_version: !ruby/object:Gem::Requirement
103
62
  version:
104
63
  requirements: []
105
64
 
106
- rubyforge_project: dragongoserver
107
- rubygems_version: 1.1.1
65
+ rubyforge_project: multistockphoto
66
+ rubygems_version: 1.3.4
108
67
  signing_key:
109
- specification_version: 2
110
- summary: Dragongoserver functions
68
+ specification_version: 3
69
+ summary: Playing Go at www.dragongoserver.net - a set of Ruby functions/commands
111
70
  test_files:
112
- - test/test_dragongoserver.rb
113
71
  - test/test_helper.rb
72
+ - test/test_dragongoserver.rb