dragongoserver 0.1.1 → 0.3.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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