dragongoserver 0.1.1 → 0.3.0
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +16 -0
- data/bin/dgs +135 -33
- data/lib/dragongoserver.rb +3 -1
- data/lib/dragongoserver/dragongoserver.rb +195 -23
- data/lib/dragongoserver/game.rb +10 -0
- data/lib/dragongoserver/version.rb +2 -2
- data/test/test_dragongoserver.rb +193 -54
- data/test/test_helper.rb +1 -0
- metadata +22 -63
- data/License.txt +0 -20
- data/Manifest.txt +0 -21
- data/Rakefile +0 -4
- data/config/hoe.rb +0 -75
- data/config/requirements.rb +0 -17
- data/examples/example1.rb +0 -39
- data/log/debug.log +0 -0
- data/script/destroy +0 -14
- data/script/generate +0 -14
- data/setup.rb +0 -1585
- data/tasks/deployment.rake +0 -27
- data/tasks/environment.rake +0 -7
- data/tasks/website.rake +0 -17
data/test/test_dragongoserver.rb
CHANGED
@@ -9,17 +9,23 @@ end
|
|
9
9
|
class TestDragongoserver < Test::Unit::TestCase
|
10
10
|
|
11
11
|
BIN_PREFIX = 'bin/'
|
12
|
-
MY_USERID=10737
|
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
|
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
|
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
|
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(
|
41
|
+
after Date.new(2009,8,11) do
|
36
42
|
zlist = @dgs.waiting_games
|
37
43
|
assert zlist.kind_of?(Array)
|
38
|
-
#
|
39
|
-
|
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
|
51
|
+
def games_in_300_000_thru_500_000(a)
|
44
52
|
result = true
|
45
53
|
a.each { |item|
|
46
|
-
|
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
|
-
|
61
|
-
|
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
|
-
|
78
|
-
|
79
|
-
|
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
|
-
|
90
|
-
|
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
|
-
|
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
|
-
|
163
|
+
if TEST_BIN
|
164
|
+
after Date.new(2009,1,16) do
|
117
165
|
expected = "Userinfo"
|
118
|
-
assert_equal expected, `#{BIN_PREFIX}dgs --userinfo
|
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
|
-
|
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
|
187
|
+
assert_equal MY_USERNAME, @dgs.userinfo[:userid]
|
136
188
|
end
|
137
189
|
|
138
190
|
def test_userinfo_city
|
139
|
-
|
140
|
-
|
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(
|
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
|
-
|
160
|
-
|
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
|
-
|
164
|
-
|
216
|
+
assert @dgs.userinfo(3) != nil, "userinfo not set"
|
217
|
+
assert_equal 'No name', @dgs.userinfo(3)[:name]
|
165
218
|
|
166
|
-
|
167
|
-
|
219
|
+
assert @dgs.userinfo(4) != nil, "userinfo not set"
|
220
|
+
assert_equal 'Alexandre Girardot', @dgs.userinfo(4)[:name]
|
168
221
|
|
169
|
-
|
170
|
-
|
222
|
+
assert @dgs.userinfo(5) != nil, "userinfo not set"
|
223
|
+
assert_equal 'Ma8e', @dgs.userinfo(5)[:name]
|
171
224
|
|
172
|
-
|
173
|
-
|
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
|
-
|
198
|
-
|
199
|
-
|
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
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.
|
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:
|
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.
|
23
|
+
version: 0.9.2
|
23
24
|
version:
|
24
|
-
-
|
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
|
-
|
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
|
-
-
|
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
|
-
-
|
76
|
-
-
|
77
|
-
-
|
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://
|
43
|
+
homepage: http://multistockphoto.rubyforge.org
|
44
|
+
licenses: []
|
45
|
+
|
86
46
|
post_install_message:
|
87
|
-
rdoc_options:
|
88
|
-
|
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:
|
107
|
-
rubygems_version: 1.
|
65
|
+
rubyforge_project: multistockphoto
|
66
|
+
rubygems_version: 1.3.4
|
108
67
|
signing_key:
|
109
|
-
specification_version:
|
110
|
-
summary:
|
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
|