sportdb-formats 1.1.2 → 1.1.3
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.
- checksums.yaml +4 -4
- data/Manifest.txt +6 -13
- data/Rakefile +1 -1
- data/lib/sportdb/formats.rb +5 -0
- data/lib/sportdb/formats/country/country_index.rb +2 -2
- data/lib/sportdb/formats/event/event_index.rb +9 -11
- data/lib/sportdb/formats/league/league_index.rb +22 -18
- data/lib/sportdb/formats/league/league_outline_reader.rb +4 -1
- data/lib/sportdb/formats/league/league_reader.rb +7 -1
- data/lib/sportdb/formats/match/match_parser.rb +27 -15
- data/lib/sportdb/formats/match/match_parser_csv.rb +148 -21
- data/lib/sportdb/formats/match/match_status_parser.rb +86 -0
- data/lib/sportdb/formats/name_helper.rb +4 -1
- data/lib/sportdb/formats/package.rb +30 -8
- data/lib/sportdb/formats/score/score_formats.rb +19 -0
- data/lib/sportdb/formats/score/score_parser.rb +4 -2
- data/lib/sportdb/formats/structs/match.rb +2 -0
- data/lib/sportdb/formats/structs/team.rb +7 -0
- data/lib/sportdb/formats/team/club_index.rb +13 -11
- data/lib/sportdb/formats/team/club_index_history.rb +138 -0
- data/lib/sportdb/formats/team/club_reader_history.rb +203 -0
- data/lib/sportdb/formats/team/club_reader_props.rb +2 -3
- data/lib/sportdb/formats/version.rb +1 -1
- data/test/helper.rb +47 -81
- data/test/test_club_index_history.rb +107 -0
- data/test/test_club_reader_history.rb +212 -0
- data/test/test_datafile_package.rb +1 -1
- data/test/test_match_status_parser.rb +49 -0
- data/test/test_scores.rb +2 -0
- metadata +10 -17
- data/test/test_conf.rb +0 -65
- data/test/test_csv_match_parser.rb +0 -114
- data/test/test_csv_match_parser_utils.rb +0 -20
- data/test/test_match_auto.rb +0 -72
- data/test/test_match_auto_champs.rb +0 -45
- data/test/test_match_auto_euro.rb +0 -37
- data/test/test_match_auto_relegation.rb +0 -41
- data/test/test_match_auto_worldcup.rb +0 -61
- data/test/test_match_champs.rb +0 -27
- data/test/test_match_eng.rb +0 -26
- data/test/test_match_euro.rb +0 -27
- data/test/test_match_start_date.rb +0 -44
- data/test/test_match_worldcup.rb +0 -27
@@ -0,0 +1,212 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
###
|
4
|
+
# to run use
|
5
|
+
# ruby -I ./lib -I ./test test/test_club_reader_history.rb
|
6
|
+
|
7
|
+
|
8
|
+
require 'helper'
|
9
|
+
|
10
|
+
|
11
|
+
class TestClubHistoryReader < MiniTest::Test
|
12
|
+
|
13
|
+
def test_parse_eng
|
14
|
+
txt =<<TXT
|
15
|
+
= England
|
16
|
+
|
17
|
+
## note: use history log by season (instead of by year) - why? why not?
|
18
|
+
##
|
19
|
+
## note/warn/remember !! a line starting with arrow (=>)
|
20
|
+
## will get turned into a heading 1!!!
|
21
|
+
## as an ascii-alternative to ⇒ use >> or -> or ??? - why? why not?
|
22
|
+
|
23
|
+
|
24
|
+
|
25
|
+
== 1958/9
|
26
|
+
RENAME Scunthorpe & Lindsey United FC, Scunthorpe ⇒ Scunthorpe United FC
|
27
|
+
|
28
|
+
== 1946/7
|
29
|
+
RENAME Clapton Orient FC, London ⇒ Leyton Orient FC
|
30
|
+
|
31
|
+
== 1945/6
|
32
|
+
RENAME Birmingham FC, Birmingham ⇒ Birmingham City FC
|
33
|
+
|
34
|
+
== 1930/1
|
35
|
+
MOVE South Shields FC, South Shields ⇒ Gateshead FC, Gateshead
|
36
|
+
|
37
|
+
|
38
|
+
|
39
|
+
== 1929/30
|
40
|
+
RENAME The Wednesday FC, Sheffield ⇒ Sheffield Wednesday
|
41
|
+
|
42
|
+
== 1927/8
|
43
|
+
RENAME The Arsenal FC, London ⇒ Arsenal FC
|
44
|
+
|
45
|
+
== 1925/6
|
46
|
+
RENAME Millwall Athletic FC, London ⇒ Millwall FC
|
47
|
+
Stoke FC, Stoke-on-Trent ⇒ Stoke City FC
|
48
|
+
|
49
|
+
MERGE Rotherham County FC, Rotherham
|
50
|
+
Rotherham Town FC, Rotherham
|
51
|
+
⇒ Rotherham United FC
|
52
|
+
|
53
|
+
== 1914/5
|
54
|
+
RENAME Woolwich Arsenal FC, London ⇒ The Arsenal FC
|
55
|
+
|
56
|
+
|
57
|
+
== 1911/2
|
58
|
+
REFORM Burslem Port Vale FC, Burslem ⇒ Port Vale FC, Stoke-on-Trent
|
59
|
+
## the towns of Burslem having been merged in 1910 with the towns of Fenton, Hanley,
|
60
|
+
## Longton, Stoke-upon-Trent and Tunstall as the city of Stoke-on-Trent
|
61
|
+
|
62
|
+
|
63
|
+
== 1909/10
|
64
|
+
RENAME Chesterfield Town FC, Chesterfield ⇒ Chesterfield FC
|
65
|
+
|
66
|
+
|
67
|
+
== 1905/6
|
68
|
+
RENAME Chesterfield FC, Chesterfield ⇒ Chesterfield Town FC
|
69
|
+
Small Heath FC, Birmingham ⇒ Birmingham FC
|
70
|
+
|
71
|
+
== 1902/3
|
72
|
+
REFORM Newton Heath FC, Manchester ⇒ Manchester United
|
73
|
+
|
74
|
+
== 1901/2
|
75
|
+
MERGE Burton Swifts FC, Burton-upon-Trent
|
76
|
+
Burton Wanderers FC, Burton-upon-Trent
|
77
|
+
⇒ Burton United FC
|
78
|
+
|
79
|
+
BANKRUPT Newton Heath FC, Manchester
|
80
|
+
|
81
|
+
|
82
|
+
== 1899/00
|
83
|
+
RENAME Barnsley St. Peter's FC, Barnsley ⇒ Barnsley FC
|
84
|
+
|
85
|
+
MERGE Blackpool FC, Blackpool
|
86
|
+
South Shore FC, Blackpool
|
87
|
+
⇒ Blackpool FC
|
88
|
+
|
89
|
+
== 1898/9
|
90
|
+
RENAME Glossop North End FC, Glossop ⇒ Glossop FC
|
91
|
+
|
92
|
+
|
93
|
+
== 1895/6
|
94
|
+
RENAME Walsall Town Swifts FC, Walsall ⇒ Walsall FC
|
95
|
+
|
96
|
+
|
97
|
+
== 1894/5
|
98
|
+
REFORM Ardwick FC, Manchester ⇒ Manchester City FC
|
99
|
+
|
100
|
+
== 1893/4
|
101
|
+
BANKRUPT Ardwick FC, Manchester
|
102
|
+
|
103
|
+
MERGE Newcastle West End FC, Newcastle-upon-Tyne
|
104
|
+
Newcastle East End FC, Newcastle-upon-Tyne
|
105
|
+
⇒ Newcastle United FC
|
106
|
+
|
107
|
+
== 1892/3
|
108
|
+
RENAME Royal Arsenal FC, London ⇒ Woolwich Arsenal FC
|
109
|
+
TXT
|
110
|
+
|
111
|
+
recs = SportDb::Import::ClubHistoryReader.parse( txt )
|
112
|
+
|
113
|
+
pp recs
|
114
|
+
|
115
|
+
exp = [["RENAME", "1958/59",
|
116
|
+
["Scunthorpe & Lindsey United FC, Scunthorpe", "eng"],
|
117
|
+
["Scunthorpe United FC", "eng"]],
|
118
|
+
["RENAME", "1946/47",
|
119
|
+
["Clapton Orient FC, London", "eng"],
|
120
|
+
["Leyton Orient FC", "eng"]],
|
121
|
+
["RENAME", "1945/46",
|
122
|
+
["Birmingham FC, Birmingham", "eng"],
|
123
|
+
["Birmingham City FC", "eng"]],
|
124
|
+
["MOVE", "1930/31",
|
125
|
+
["South Shields FC, South Shields", "eng"],
|
126
|
+
["Gateshead FC, Gateshead", "eng"]],
|
127
|
+
["RENAME",
|
128
|
+
"1929/30",
|
129
|
+
["The Wednesday FC, Sheffield", "eng"],
|
130
|
+
["Sheffield Wednesday", "eng"]],
|
131
|
+
["RENAME",
|
132
|
+
"1927/28",
|
133
|
+
["The Arsenal FC, London", "eng"],
|
134
|
+
["Arsenal FC", "eng"]],
|
135
|
+
["RENAME",
|
136
|
+
"1925/26",
|
137
|
+
["Millwall Athletic FC, London", "eng"],
|
138
|
+
["Millwall FC", "eng"]],
|
139
|
+
["RENAME",
|
140
|
+
"1925/26",
|
141
|
+
["Stoke FC, Stoke-on-Trent", "eng"],
|
142
|
+
["Stoke City FC", "eng"]],
|
143
|
+
["MERGE",
|
144
|
+
"1925/26",
|
145
|
+
[["Rotherham County FC, Rotherham", "eng"],
|
146
|
+
["Rotherham Town FC, Rotherham", "eng"]],
|
147
|
+
["Rotherham United FC", "eng"]],
|
148
|
+
["RENAME",
|
149
|
+
"1914/15",
|
150
|
+
["Woolwich Arsenal FC, London", "eng"],
|
151
|
+
["The Arsenal FC", "eng"]],
|
152
|
+
["REFORM",
|
153
|
+
"1911/12",
|
154
|
+
["Burslem Port Vale FC, Burslem", "eng"],
|
155
|
+
["Port Vale FC, Stoke-on-Trent", "eng"]],
|
156
|
+
["RENAME",
|
157
|
+
"1909/10",
|
158
|
+
["Chesterfield Town FC, Chesterfield", "eng"],
|
159
|
+
["Chesterfield FC", "eng"]],
|
160
|
+
["RENAME",
|
161
|
+
"1905/06",
|
162
|
+
["Chesterfield FC, Chesterfield", "eng"],
|
163
|
+
["Chesterfield Town FC", "eng"]],
|
164
|
+
["RENAME",
|
165
|
+
"1905/06",
|
166
|
+
["Small Heath FC, Birmingham", "eng"],
|
167
|
+
["Birmingham FC", "eng"]],
|
168
|
+
["REFORM",
|
169
|
+
"1902/03",
|
170
|
+
["Newton Heath FC, Manchester", "eng"],
|
171
|
+
["Manchester United", "eng"]],
|
172
|
+
["MERGE",
|
173
|
+
"1901/02",
|
174
|
+
[["Burton Swifts FC, Burton-upon-Trent", "eng"],
|
175
|
+
["Burton Wanderers FC, Burton-upon-Trent", "eng"]],
|
176
|
+
["Burton United FC", "eng"]],
|
177
|
+
["BANKRUPT", "1901/02", ["Newton Heath FC, Manchester", "eng"]],
|
178
|
+
["RENAME",
|
179
|
+
"1899/00",
|
180
|
+
["Barnsley St. Peter's FC, Barnsley", "eng"],
|
181
|
+
["Barnsley FC", "eng"]],
|
182
|
+
["MERGE",
|
183
|
+
"1899/00",
|
184
|
+
[["Blackpool FC, Blackpool", "eng"], ["South Shore FC, Blackpool", "eng"]],
|
185
|
+
["Blackpool FC", "eng"]],
|
186
|
+
["RENAME",
|
187
|
+
"1898/99",
|
188
|
+
["Glossop North End FC, Glossop", "eng"],
|
189
|
+
["Glossop FC", "eng"]],
|
190
|
+
["RENAME",
|
191
|
+
"1895/96",
|
192
|
+
["Walsall Town Swifts FC, Walsall", "eng"],
|
193
|
+
["Walsall FC", "eng"]],
|
194
|
+
["REFORM",
|
195
|
+
"1894/95",
|
196
|
+
["Ardwick FC, Manchester", "eng"],
|
197
|
+
["Manchester City FC", "eng"]],
|
198
|
+
["BANKRUPT", "1893/94", ["Ardwick FC, Manchester", "eng"]],
|
199
|
+
["MERGE",
|
200
|
+
"1893/94",
|
201
|
+
[["Newcastle West End FC, Newcastle-upon-Tyne", "eng"],
|
202
|
+
["Newcastle East End FC, Newcastle-upon-Tyne", "eng"]],
|
203
|
+
["Newcastle United FC", "eng"]],
|
204
|
+
["RENAME",
|
205
|
+
"1892/93",
|
206
|
+
["Royal Arsenal FC, London", "eng"],
|
207
|
+
["Woolwich Arsenal FC", "eng"]]]
|
208
|
+
|
209
|
+
assert_equal exp, recs
|
210
|
+
end
|
211
|
+
|
212
|
+
end # class TestClubHistoryReader
|
@@ -16,7 +16,7 @@ class TestDatafilePackage < MiniTest::Test
|
|
16
16
|
].each do |eng|
|
17
17
|
assert eng.find( '2015-16/.conf.txt' ).read.start_with?( '= English Premier League 2015/16' )
|
18
18
|
assert eng.find( '2017-18/.conf.txt' ).read.start_with?( '= English Premier League 2017/18' )
|
19
|
-
assert eng.find( '2015-16/1-premierleague
|
19
|
+
assert eng.find( '2015-16/1-premierleague.txt' ).read.start_with?( '= English Premier League 2015/16' )
|
20
20
|
end
|
21
21
|
|
22
22
|
[Datafile::DirPackage.new( '../../../openfootball/austria' ),
|
@@ -0,0 +1,49 @@
|
|
1
|
+
# encoding: utf-8
|
2
|
+
|
3
|
+
###
|
4
|
+
# to run use
|
5
|
+
# ruby -I ./lib -I ./test test/test_match_status_parser.rb
|
6
|
+
|
7
|
+
|
8
|
+
require 'helper'
|
9
|
+
|
10
|
+
|
11
|
+
class TestMatchStatusParser < MiniTest::Test
|
12
|
+
|
13
|
+
Status = SportDb::Status
|
14
|
+
StatusParser = SportDb::StatusParser
|
15
|
+
|
16
|
+
def test_find
|
17
|
+
[['awarded [cancelled] canceled [ddd]', Status::CANCELLED],
|
18
|
+
['awarded [bbb; canceled] canceled [awarded; comments] eeee', Status::AWARDED],
|
19
|
+
['aaa bbb ccc ddd eeee', nil],
|
20
|
+
].each do |rec|
|
21
|
+
line = rec[0]
|
22
|
+
status_exp = rec[1]
|
23
|
+
puts "line (before): >#{line}<"
|
24
|
+
status = StatusParser.find!( line )
|
25
|
+
puts "status: >#{status}<"
|
26
|
+
puts "line (after): >#{line}<"
|
27
|
+
puts
|
28
|
+
|
29
|
+
assert_equal status_exp, status
|
30
|
+
end
|
31
|
+
end # method test_find
|
32
|
+
|
33
|
+
def test_parse
|
34
|
+
[['cancelled ddd', Status::CANCELLED],
|
35
|
+
['CANCELLED', Status::CANCELLED],
|
36
|
+
['can.', Status::CANCELLED],
|
37
|
+
['awarded; comments', Status::AWARDED],
|
38
|
+
['awd. - comments', Status::AWARDED],
|
39
|
+
['aaa bbb ccc ddd eeee', nil],
|
40
|
+
].each do |rec|
|
41
|
+
str = rec[0]
|
42
|
+
status_exp = rec[1]
|
43
|
+
assert_equal status_exp, StatusParser.parse( str )
|
44
|
+
end
|
45
|
+
end
|
46
|
+
|
47
|
+
end # class TestMatchStatusParser
|
48
|
+
|
49
|
+
|
data/test/test_scores.rb
CHANGED
@@ -80,12 +80,14 @@ class TestScores < MiniTest::Test
|
|
80
80
|
[ '2-1aet (1-1, 0-0)', [0,0, 1,1, 2,1]],
|
81
81
|
[ '2-1 A.E.T. (1-1, 0-0)', [0,0, 1,1, 2,1]],
|
82
82
|
[ '2-1AET (1-1, 0-0)', [0,0, 1,1, 2,1]],
|
83
|
+
[ '2-1 a.e.t.', [nil,nil,nil,nil, 2,1]],
|
83
84
|
|
84
85
|
[ '3-4 pen. 2-2 a.e.t. (1-1, 1-1)', [1,1, 1,1, 2,2, 3,4]],
|
85
86
|
[ '3-4 pen 2-2 a.e.t. (1-1, 1-1)', [1,1, 1,1, 2,2, 3,4]],
|
86
87
|
[ '3-4 pen 2-2 a.e.t. (1-1, 1-1)', [1,1, 1,1, 2,2, 3,4]],
|
87
88
|
[ '3-4p 2-2aet (1-1, 1-1)', [1,1, 1,1, 2,2, 3,4]],
|
88
89
|
[ '3-4PSO 2-2AET (1-1, 1-1)', [1,1, 1,1, 2,2, 3,4]],
|
90
|
+
[ '3-4 pen. 2-2 a.e.t.', [nil,nil,nil,nil, 2,2, 3,4]],
|
89
91
|
|
90
92
|
[ '4-3 pen. 1-0 a.e.t. (1-0, )', [nil,nil, 1,0, 1,0, 4,3]],
|
91
93
|
[ '3-4 pen. 2-1 a.e.t. (2-1, )', [nil,nil, 2,1, 2,1, 3,4]],
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: sportdb-formats
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 1.1.
|
4
|
+
version: 1.1.3
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Gerald Bauer
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-08-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: alphabets
|
@@ -58,14 +58,14 @@ dependencies:
|
|
58
58
|
requirements:
|
59
59
|
- - ">="
|
60
60
|
- !ruby/object:Gem::Version
|
61
|
-
version: 0.1.
|
61
|
+
version: 0.1.1
|
62
62
|
type: :runtime
|
63
63
|
prerelease: false
|
64
64
|
version_requirements: !ruby/object:Gem::Requirement
|
65
65
|
requirements:
|
66
66
|
- - ">="
|
67
67
|
- !ruby/object:Gem::Version
|
68
|
-
version: 0.1.
|
68
|
+
version: 0.1.1
|
69
69
|
- !ruby/object:Gem::Dependency
|
70
70
|
name: rubyzip
|
71
71
|
requirement: !ruby/object:Gem::Requirement
|
@@ -139,6 +139,7 @@ files:
|
|
139
139
|
- lib/sportdb/formats/match/match_parser.rb
|
140
140
|
- lib/sportdb/formats/match/match_parser_auto_conf.rb
|
141
141
|
- lib/sportdb/formats/match/match_parser_csv.rb
|
142
|
+
- lib/sportdb/formats/match/match_status_parser.rb
|
142
143
|
- lib/sportdb/formats/name_helper.rb
|
143
144
|
- lib/sportdb/formats/outline_reader.rb
|
144
145
|
- lib/sportdb/formats/package.rb
|
@@ -157,7 +158,9 @@ files:
|
|
157
158
|
- lib/sportdb/formats/structs/team.rb
|
158
159
|
- lib/sportdb/formats/structs/team_usage.rb
|
159
160
|
- lib/sportdb/formats/team/club_index.rb
|
161
|
+
- lib/sportdb/formats/team/club_index_history.rb
|
160
162
|
- lib/sportdb/formats/team/club_reader.rb
|
163
|
+
- lib/sportdb/formats/team/club_reader_history.rb
|
161
164
|
- lib/sportdb/formats/team/club_reader_props.rb
|
162
165
|
- lib/sportdb/formats/team/national_team_index.rb
|
163
166
|
- lib/sportdb/formats/team/team_index.rb
|
@@ -165,14 +168,13 @@ files:
|
|
165
168
|
- lib/sportdb/formats/version.rb
|
166
169
|
- test/helper.rb
|
167
170
|
- test/test_club_index.rb
|
171
|
+
- test/test_club_index_history.rb
|
168
172
|
- test/test_club_reader.rb
|
173
|
+
- test/test_club_reader_history.rb
|
169
174
|
- test/test_club_reader_props.rb
|
170
175
|
- test/test_clubs.rb
|
171
|
-
- test/test_conf.rb
|
172
176
|
- test/test_country_index.rb
|
173
177
|
- test/test_country_reader.rb
|
174
|
-
- test/test_csv_match_parser.rb
|
175
|
-
- test/test_csv_match_parser_utils.rb
|
176
178
|
- test/test_csv_reader.rb
|
177
179
|
- test/test_datafile.rb
|
178
180
|
- test/test_datafile_package.rb
|
@@ -181,16 +183,7 @@ files:
|
|
181
183
|
- test/test_league_outline_reader.rb
|
182
184
|
- test/test_league_reader.rb
|
183
185
|
- test/test_match.rb
|
184
|
-
- test/
|
185
|
-
- test/test_match_auto_champs.rb
|
186
|
-
- test/test_match_auto_euro.rb
|
187
|
-
- test/test_match_auto_relegation.rb
|
188
|
-
- test/test_match_auto_worldcup.rb
|
189
|
-
- test/test_match_champs.rb
|
190
|
-
- test/test_match_eng.rb
|
191
|
-
- test/test_match_euro.rb
|
192
|
-
- test/test_match_start_date.rb
|
193
|
-
- test/test_match_worldcup.rb
|
186
|
+
- test/test_match_status_parser.rb
|
194
187
|
- test/test_name_helper.rb
|
195
188
|
- test/test_outline_reader.rb
|
196
189
|
- test/test_package.rb
|
data/test/test_conf.rb
DELETED
@@ -1,65 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
###
|
4
|
-
# to run use
|
5
|
-
# ruby -I ./lib -I ./test test/test_conf.rb
|
6
|
-
|
7
|
-
|
8
|
-
require 'helper'
|
9
|
-
|
10
|
-
|
11
|
-
class TestConf < MiniTest::Test
|
12
|
-
|
13
|
-
COUNTRY_RE = SportDb::ConfParser::COUNTRY_RE
|
14
|
-
TABLE_RE = SportDb::ConfParser::TABLE_RE
|
15
|
-
|
16
|
-
def test_re
|
17
|
-
m=COUNTRY_RE.match( 'Manchester United › ENG' )
|
18
|
-
pp m
|
19
|
-
pp m[0]
|
20
|
-
assert_equal 'ENG', m[:country]
|
21
|
-
|
22
|
-
m=COUNTRY_RE.match( 'Manchester United›ENG' )
|
23
|
-
pp m
|
24
|
-
pp m[0]
|
25
|
-
assert_equal 'ENG', m[:country]
|
26
|
-
|
27
|
-
|
28
|
-
m=TABLE_RE.match( '1 Manchester City 38 32 4 2 106-27 100' )
|
29
|
-
pp m
|
30
|
-
assert_equal 'Manchester City', m[:team]
|
31
|
-
|
32
|
-
m=TABLE_RE.match( '1. Manchester City 38 32 4 2 106:27 100' )
|
33
|
-
pp m
|
34
|
-
assert_equal 'Manchester City', m[:team]
|
35
|
-
|
36
|
-
m=TABLE_RE.match( '- Manchester City 38 32 4 2 106 - 27 100' )
|
37
|
-
pp m
|
38
|
-
assert_equal 'Manchester City', m[:team]
|
39
|
-
|
40
|
-
|
41
|
-
m=TABLE_RE.match( '1. 1. FC Mainz 38 32 4 2 106-27 100 [-7]' )
|
42
|
-
pp m
|
43
|
-
assert_equal '1. FC Mainz', m[:team]
|
44
|
-
end
|
45
|
-
|
46
|
-
|
47
|
-
def test_conf
|
48
|
-
%w[conf/at_cup.txt
|
49
|
-
conf/at_reg.txt
|
50
|
-
conf/at_champs.txt
|
51
|
-
conf/eng.txt
|
52
|
-
conf/champs.txt
|
53
|
-
].each do |path|
|
54
|
-
txt, exp = read_test( path )
|
55
|
-
|
56
|
-
puts "testing conf #{path}..."
|
57
|
-
teams = parse_conf( txt )
|
58
|
-
|
59
|
-
## note: json always returns hash tables with string keys (not symbols),
|
60
|
-
## thus, always stringify keys before comparing!!!!
|
61
|
-
assert_equal exp, teams.deep_stringify_keys
|
62
|
-
end
|
63
|
-
end
|
64
|
-
|
65
|
-
end # class TestConf
|
@@ -1,114 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
###
|
4
|
-
# to run use
|
5
|
-
# ruby -I ./lib -I ./test test/test_csv_match_parser.rb
|
6
|
-
|
7
|
-
|
8
|
-
require 'helper'
|
9
|
-
|
10
|
-
|
11
|
-
class TestCsvMatchParser < MiniTest::Test
|
12
|
-
|
13
|
-
##
|
14
|
-
# Div,Date,HomeTeam,AwayTeam,FTHG,FTAG,FTR,HTHG,HTAG,HTR,
|
15
|
-
# Referee,HS,AS,HST,AST,HF,AF,HC,AC,HY,AY,HR,AR,
|
16
|
-
# B365H,B365D,B365A,BWH,BWD,BWA,IWH,IWD,IWA,LBH,LBD,LBA,PSH,PSD,PSA,
|
17
|
-
# WHH,WHD,WHA,VCH,VCD,VCA,
|
18
|
-
# Bb1X2,BbMxH,BbAvH,BbMxD,BbAvD,BbMxA,BbAvA,BbOU,BbMx>2.5,BbAv>2.5,BbMx<2.5,BbAv<2.5,
|
19
|
-
# BbAH,BbAHh,BbMxAHH,BbAvAHH,BbMxAHA,BbAvAHA,PSCH,PSCD,PSCA
|
20
|
-
def test_eng_filters
|
21
|
-
path = "#{SportDb::Test.data_dir}/england/2017-18/E0.csv"
|
22
|
-
|
23
|
-
matches = SportDb::CsvMatchParser.read( path,
|
24
|
-
filters: { 'HomeTeam' => 'Arsenal' } )
|
25
|
-
|
26
|
-
pp path
|
27
|
-
pp matches[0..2]
|
28
|
-
|
29
|
-
m=matches[0]
|
30
|
-
assert_equal '2017-08-11', m.date
|
31
|
-
assert_equal 4, m.score1
|
32
|
-
assert_equal 3, m.score2
|
33
|
-
assert_equal 2, m.score1i
|
34
|
-
assert_equal 2, m.score2i
|
35
|
-
assert_equal 'Arsenal', m.team1
|
36
|
-
assert_equal 'Leicester', m.team2
|
37
|
-
|
38
|
-
m=matches[1]
|
39
|
-
assert_equal '2017-09-09', m.date
|
40
|
-
assert_equal 3, m.score1
|
41
|
-
assert_equal 0, m.score2
|
42
|
-
assert_equal 2, m.score1i
|
43
|
-
assert_equal 0, m.score2i
|
44
|
-
assert_equal 'Arsenal', m.team1
|
45
|
-
assert_equal 'Bournemouth', m.team2
|
46
|
-
end
|
47
|
-
|
48
|
-
|
49
|
-
def test_eng_headers
|
50
|
-
path = "#{SportDb::Test.data_dir}/england/2017-18/E0.csv"
|
51
|
-
|
52
|
-
headers = { team1: 'HomeTeam',
|
53
|
-
team2: 'AwayTeam',
|
54
|
-
date: 'Date',
|
55
|
-
score1: 'FTHG',
|
56
|
-
score2: 'FTAG' }
|
57
|
-
|
58
|
-
matches = SportDb::CsvMatchParser.read( path, headers: headers )
|
59
|
-
|
60
|
-
pp path
|
61
|
-
pp matches[0..2]
|
62
|
-
|
63
|
-
m=matches[0]
|
64
|
-
assert_equal '2017-08-11', m.date
|
65
|
-
assert_equal 4, m.score1
|
66
|
-
assert_equal 3, m.score2
|
67
|
-
assert_nil m.score1i ## todo/fix: missing half time (ht) score !!!!
|
68
|
-
assert_nil m.score2i ## todo/fix: missing half time (ht) score !!!!
|
69
|
-
assert_equal 'Arsenal', m.team1
|
70
|
-
assert_equal 'Leicester', m.team2
|
71
|
-
|
72
|
-
m=matches[1]
|
73
|
-
assert_equal '2017-08-12', m.date
|
74
|
-
assert_equal 0, m.score1
|
75
|
-
assert_equal 2, m.score2
|
76
|
-
assert_nil m.score1i ## todo/fix: missing half time (ht) score !!!!
|
77
|
-
assert_nil m.score2i ## todo/fix: missing half time (ht) score !!!!
|
78
|
-
assert_equal 'Brighton', m.team1
|
79
|
-
assert_equal 'Man City', m.team2
|
80
|
-
end
|
81
|
-
|
82
|
-
|
83
|
-
###
|
84
|
-
# Country,League,Season,Date,Time,Home,Away,HG,AG,
|
85
|
-
# Res,PH,PD,PA,MaxH,MaxD,MaxA,AvgH,AvgD,AvgA
|
86
|
-
def test_at
|
87
|
-
path = "#{SportDb::Test.data_dir}/austria/AUT.csv"
|
88
|
-
|
89
|
-
matches = SportDb::CsvMatchParser.read( path, filters: { 'Season' => '2017/2018' } )
|
90
|
-
|
91
|
-
pp matches[0..2]
|
92
|
-
pp path
|
93
|
-
|
94
|
-
m=matches[0]
|
95
|
-
assert_equal '2017-07-22', m.date
|
96
|
-
assert_equal 2, m.score1
|
97
|
-
assert_equal 2, m.score2
|
98
|
-
assert_nil m.score1i ## todo/fix: missing half time (ht) score !!!!
|
99
|
-
assert_nil m.score2i ## todo/fix: missing half time (ht) score !!!!
|
100
|
-
assert_equal 'Rapid Vienna', m.team1
|
101
|
-
assert_equal 'Mattersburg', m.team2
|
102
|
-
|
103
|
-
m=matches[1]
|
104
|
-
assert_equal '2017-07-22', m.date
|
105
|
-
assert_equal 0, m.score1
|
106
|
-
assert_equal 2, m.score2
|
107
|
-
assert_nil m.score1i ## todo/fix: missing half time (ht) score !!!!
|
108
|
-
assert_nil m.score2i ## todo/fix: missing half time (ht) score !!!!
|
109
|
-
assert_equal 'AC Wolfsberger', m.team1
|
110
|
-
assert_equal 'Salzburg', m.team2
|
111
|
-
end
|
112
|
-
|
113
|
-
|
114
|
-
end # class TestCsvMatchParser
|