sportdb-formats 1.1.6 → 1.2.1
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 +5 -5
- data/CHANGELOG.md +2 -0
- data/Manifest.txt +4 -25
- data/Rakefile +1 -1
- data/lib/sportdb/formats/country/country_reader.rb +142 -142
- data/lib/sportdb/formats/datafile.rb +59 -59
- data/lib/sportdb/formats/event/event_reader.rb +184 -183
- data/lib/sportdb/formats/goals.rb +53 -9
- data/lib/sportdb/formats/ground/ground_reader.rb +289 -0
- data/lib/sportdb/formats/league/league_reader.rb +152 -168
- data/lib/sportdb/formats/lines_reader.rb +47 -0
- data/lib/sportdb/formats/match/match_parser.rb +130 -13
- data/lib/sportdb/formats/match/match_parser_auto_conf.rb +270 -202
- data/lib/sportdb/formats/outline_reader.rb +0 -1
- data/lib/sportdb/formats/package.rb +394 -374
- data/lib/sportdb/formats/search/sport.rb +357 -0
- data/lib/sportdb/formats/search/world.rb +139 -0
- data/lib/sportdb/formats/team/club_index_history.rb +134 -134
- data/lib/sportdb/formats/team/club_reader.rb +318 -350
- data/lib/sportdb/formats/team/club_reader_history.rb +203 -203
- data/lib/sportdb/formats/team/wiki_reader.rb +108 -108
- data/lib/sportdb/formats/version.rb +4 -7
- data/lib/sportdb/formats.rb +60 -27
- metadata +13 -35
- data/lib/sportdb/formats/country/country_index.rb +0 -192
- data/lib/sportdb/formats/event/event_index.rb +0 -141
- data/lib/sportdb/formats/league/league_index.rb +0 -178
- data/lib/sportdb/formats/team/club_index.rb +0 -338
- data/lib/sportdb/formats/team/national_team_index.rb +0 -114
- data/lib/sportdb/formats/team/team_index.rb +0 -43
- data/test/helper.rb +0 -132
- data/test/test_club_index.rb +0 -183
- data/test/test_club_index_history.rb +0 -107
- data/test/test_club_reader.rb +0 -201
- data/test/test_club_reader_history.rb +0 -212
- data/test/test_club_reader_props.rb +0 -54
- data/test/test_country_index.rb +0 -63
- data/test/test_country_reader.rb +0 -89
- data/test/test_datafile.rb +0 -30
- data/test/test_datafile_package.rb +0 -46
- data/test/test_goals.rb +0 -113
- data/test/test_league_index.rb +0 -157
- data/test/test_league_outline_reader.rb +0 -55
- data/test/test_league_reader.rb +0 -72
- data/test/test_outline_reader.rb +0 -31
- data/test/test_package.rb +0 -78
- data/test/test_package_match.rb +0 -102
- data/test/test_regex.rb +0 -67
- data/test/test_wiki_reader.rb +0 -77
data/test/test_league_index.rb
DELETED
@@ -1,157 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
###
|
4
|
-
# to run use
|
5
|
-
# ruby -I ./lib -I ./test test/test_league_index.rb
|
6
|
-
|
7
|
-
|
8
|
-
require 'helper'
|
9
|
-
|
10
|
-
class TestLeagueIndex < MiniTest::Test
|
11
|
-
|
12
|
-
def test_match
|
13
|
-
recs = SportDb::Import::LeagueReader.parse( <<TXT )
|
14
|
-
= England =
|
15
|
-
1 English Premier League
|
16
|
-
| ENG PL | England Premier League | Premier League
|
17
|
-
2 English Championship
|
18
|
-
| ENG CS | England Championship | Championship
|
19
|
-
3 English League One
|
20
|
-
| England League One | League One
|
21
|
-
4 English League Two
|
22
|
-
5 English National League
|
23
|
-
|
24
|
-
cup EFL Cup
|
25
|
-
| League Cup | Football League Cup
|
26
|
-
| ENG LC | England Liga Cup
|
27
|
-
|
28
|
-
= Scotland =
|
29
|
-
1 Scottish Premiership
|
30
|
-
2 Scottish Championship
|
31
|
-
3 Scottish League One
|
32
|
-
4 Scottish League Two
|
33
|
-
TXT
|
34
|
-
|
35
|
-
leagues = SportDb::Import::LeagueIndex.new
|
36
|
-
leagues.add( recs )
|
37
|
-
|
38
|
-
pp leagues.errors
|
39
|
-
|
40
|
-
leagues.dump_duplicates
|
41
|
-
|
42
|
-
m = leagues.match( 'English Premier League' )
|
43
|
-
assert_equal 'English Premier League', m[0].name
|
44
|
-
assert_equal 'eng.1', m[0].key
|
45
|
-
assert_equal 'England', m[0].country.name
|
46
|
-
assert_equal 'eng', m[0].country.key
|
47
|
-
|
48
|
-
m = leagues.match( 'english premier league' )
|
49
|
-
assert_equal 'English Premier League', m[0].name
|
50
|
-
assert_equal 'eng.1', m[0].key
|
51
|
-
assert_equal 'England', m[0].country.name
|
52
|
-
assert_equal 'eng', m[0].country.key
|
53
|
-
|
54
|
-
m = leagues.match( 'englishpremierleague' )
|
55
|
-
assert_equal 'English Premier League', m[0].name
|
56
|
-
assert_equal 'eng.1', m[0].key
|
57
|
-
assert_equal 'England', m[0].country.name
|
58
|
-
assert_equal 'eng', m[0].country.key
|
59
|
-
|
60
|
-
## note: all dots (.) get always removed
|
61
|
-
m = leagues.match( '...e.n.g.l.i.s.h.p.r.e.m.i.e.r.l.e.a.g.u.e...' )
|
62
|
-
assert_equal 'English Premier League', m[0].name
|
63
|
-
assert_equal 'eng.1', m[0].key
|
64
|
-
assert_equal 'England', m[0].country.name
|
65
|
-
assert_equal 'eng', m[0].country.key
|
66
|
-
|
67
|
-
## note: all spaces and dashes (-) get always removed
|
68
|
-
m = leagues.match( '--- e n g l i s h p r e m i e r l e a g u e ---' )
|
69
|
-
assert_equal 'English Premier League', m[0].name
|
70
|
-
assert_equal 'eng.1', m[0].key
|
71
|
-
assert_equal 'England', m[0].country.name
|
72
|
-
assert_equal 'eng', m[0].country.key
|
73
|
-
|
74
|
-
m = leagues.match( 'ENGLISH PREMIER LEAGUE' )
|
75
|
-
assert_equal 'English Premier League', m[0].name
|
76
|
-
assert_equal 'eng.1', m[0].key
|
77
|
-
assert_equal 'England', m[0].country.name
|
78
|
-
assert_equal 'eng', m[0].country.key
|
79
|
-
|
80
|
-
## check alt names
|
81
|
-
m = leagues.match( 'ENG PL' )
|
82
|
-
assert_equal 'English Premier League', m[0].name
|
83
|
-
assert_equal 'eng.1', m[0].key
|
84
|
-
assert_equal 'England', m[0].country.name
|
85
|
-
assert_equal 'eng', m[0].country.key
|
86
|
-
end
|
87
|
-
|
88
|
-
def test_match_by
|
89
|
-
recs = SportDb::Import::LeagueReader.parse( <<TXT )
|
90
|
-
= Germany =
|
91
|
-
1 Bundesliga
|
92
|
-
|
93
|
-
= Austria =
|
94
|
-
1 Bundesliga
|
95
|
-
|
96
|
-
= England =
|
97
|
-
1 English Premier League
|
98
|
-
| Premier League
|
99
|
-
|
100
|
-
= Wales =
|
101
|
-
1 Welsh Premier League
|
102
|
-
| Premier League
|
103
|
-
TXT
|
104
|
-
|
105
|
-
leagues = SportDb::Import::LeagueIndex.new
|
106
|
-
leagues.add( recs )
|
107
|
-
|
108
|
-
pp leagues.errors
|
109
|
-
|
110
|
-
leagues.dump_duplicates
|
111
|
-
|
112
|
-
m = leagues.match( 'Bundesliga' )
|
113
|
-
assert_equal 2, m.size
|
114
|
-
|
115
|
-
m = leagues.match( 'AT' ) ## check auto-generated/added shortcut names
|
116
|
-
assert_equal 1, m.size
|
117
|
-
assert_equal 'Bundesliga', m[0].name
|
118
|
-
m = leagues.match( 'AT 1' )
|
119
|
-
assert_equal 1, m.size
|
120
|
-
assert_equal 'Bundesliga', m[0].name
|
121
|
-
m = leagues.match( 'AUT' )
|
122
|
-
assert_equal 1, m.size
|
123
|
-
assert_equal 'Bundesliga', m[0].name
|
124
|
-
m = leagues.match( 'AUT 1' )
|
125
|
-
assert_equal 1, m.size
|
126
|
-
assert_equal 'Bundesliga', m[0].name
|
127
|
-
m = leagues.match( 'Austria 1' )
|
128
|
-
assert_equal 1, m.size
|
129
|
-
assert_equal 'Bundesliga', m[0].name
|
130
|
-
|
131
|
-
|
132
|
-
m = leagues.match_by( name: 'Bundesliga', country: 'at' )
|
133
|
-
assert_equal 1, m.size
|
134
|
-
m = leagues.match_by( name: 'Bundesliga', country: 'de' )
|
135
|
-
assert_equal 1, m.size
|
136
|
-
|
137
|
-
|
138
|
-
m = leagues.match( 'Premier League' )
|
139
|
-
assert_equal 2, m.size
|
140
|
-
|
141
|
-
m = leagues.match( 'ENG' ) ## check auto-generated/added shortcut names
|
142
|
-
assert_equal 1, m.size
|
143
|
-
assert_equal 'English Premier League', m[0].name
|
144
|
-
m = leagues.match( 'ENG 1' )
|
145
|
-
assert_equal 1, m.size
|
146
|
-
assert_equal 'English Premier League', m[0].name
|
147
|
-
m = leagues.match( 'England 1' )
|
148
|
-
assert_equal 1, m.size
|
149
|
-
assert_equal 'English Premier League', m[0].name
|
150
|
-
|
151
|
-
m = leagues.match_by( name: 'Premier League', country: 'eng' )
|
152
|
-
assert_equal 1, m.size
|
153
|
-
m = leagues.match_by( name: 'Premier League', country: 'wal' )
|
154
|
-
assert_equal 1, m.size
|
155
|
-
end
|
156
|
-
|
157
|
-
end # class TestLeagueIndex
|
@@ -1,55 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
###
|
4
|
-
# to run use
|
5
|
-
# ruby -I ./lib -I ./test test/test_league_outline_reader.rb
|
6
|
-
|
7
|
-
|
8
|
-
require 'helper'
|
9
|
-
|
10
|
-
|
11
|
-
class TestLeagueOutlineReader < MiniTest::Test
|
12
|
-
|
13
|
-
def test_parse
|
14
|
-
txt = <<TXT
|
15
|
-
= ENG PL 2019/20
|
16
|
-
|
17
|
-
line
|
18
|
-
line
|
19
|
-
|
20
|
-
= ENG CS 2019/20
|
21
|
-
|
22
|
-
line
|
23
|
-
line
|
24
|
-
|
25
|
-
= ENG PL 2020/1
|
26
|
-
|
27
|
-
line
|
28
|
-
line
|
29
|
-
TXT
|
30
|
-
|
31
|
-
secs = SportDb::LeagueOutlineReader.parse( txt )
|
32
|
-
pp secs
|
33
|
-
|
34
|
-
assert_equal 3, secs.size
|
35
|
-
|
36
|
-
league = secs[0][:league]
|
37
|
-
assert_equal 'English Premier League', league.name
|
38
|
-
assert_equal 'eng.1', league.key
|
39
|
-
assert_equal 'England', league.country.name
|
40
|
-
assert_equal 'eng', league.country.key
|
41
|
-
|
42
|
-
season = secs[0][:season]
|
43
|
-
assert_equal '2019/20', season.key
|
44
|
-
|
45
|
-
## try with season filter
|
46
|
-
secs = SportDb::LeagueOutlineReader.parse( txt, season: '2020/21' )
|
47
|
-
pp secs
|
48
|
-
|
49
|
-
assert_equal 1, secs.size
|
50
|
-
|
51
|
-
season = secs[0][:season]
|
52
|
-
assert_equal '2020/21', season.key
|
53
|
-
end
|
54
|
-
|
55
|
-
end # class TestLeagueOutlineReader
|
data/test/test_league_reader.rb
DELETED
@@ -1,72 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
###
|
4
|
-
# to run use
|
5
|
-
# ruby -I ./lib -I ./test test/test_league_reader.rb
|
6
|
-
|
7
|
-
|
8
|
-
require 'helper'
|
9
|
-
|
10
|
-
class TestLeagueReader < MiniTest::Test
|
11
|
-
|
12
|
-
def test_parse_at
|
13
|
-
recs = SportDb::Import::LeagueReader.parse( <<TXT )
|
14
|
-
==============================
|
15
|
-
= Austria
|
16
|
-
1 Bundesliga
|
17
|
-
| AUT BL | Österreich Bundesliga
|
18
|
-
2 2. Liga
|
19
|
-
| Österreich Zweite Liga
|
20
|
-
|
21
|
-
3.o Regionalliga Ost
|
22
|
-
| AUT RLO | Österreich Regionalliga Ost
|
23
|
-
3.m Regionalliga Mitte
|
24
|
-
| AUT RLM | Österreich Regionalliga Mitte
|
25
|
-
3.sbg Regionalliga Salzburg
|
26
|
-
| RL SBG
|
27
|
-
3.t Regionalliga Tirol
|
28
|
-
| RL TIR
|
29
|
-
TXT
|
30
|
-
|
31
|
-
pp recs
|
32
|
-
|
33
|
-
assert_equal 6, recs.size
|
34
|
-
assert_equal '2. Liga', recs[1].name
|
35
|
-
assert_equal 'at.2', recs[1].key
|
36
|
-
assert_equal 'Austria', recs[1].country.name
|
37
|
-
assert_equal 'at', recs[1].country.key
|
38
|
-
|
39
|
-
assert recs[0].alt_names_auto.include?( 'AT' )
|
40
|
-
assert recs[0].alt_names_auto.include?( 'AT 1' )
|
41
|
-
assert recs[0].alt_names_auto.include?( 'AUT 1' )
|
42
|
-
assert recs[0].alt_names_auto.include?( 'Austria 1' )
|
43
|
-
|
44
|
-
assert recs[1].alt_names_auto.include?( 'AT 2' )
|
45
|
-
assert recs[1].alt_names_auto.include?( 'AUT 2' )
|
46
|
-
assert recs[1].alt_names_auto.include?( 'Austria 2' )
|
47
|
-
end
|
48
|
-
|
49
|
-
|
50
|
-
def test_parse_us
|
51
|
-
recs = SportDb::Import::LeagueReader.parse( <<TXT )
|
52
|
-
=============================================
|
53
|
-
= United States
|
54
|
-
1 Major League Soccer
|
55
|
-
| USA MLS | USA Major League Soccer
|
56
|
-
cup US Open Cup
|
57
|
-
| USA US Open Cup
|
58
|
-
TXT
|
59
|
-
|
60
|
-
pp recs
|
61
|
-
|
62
|
-
assert_equal 2, recs.size
|
63
|
-
assert_equal 'Major League Soccer', recs[0].name
|
64
|
-
assert_equal 'us.1', recs[0].key
|
65
|
-
assert_equal 'United States', recs[0].country.name
|
66
|
-
assert_equal 'us', recs[0].country.key
|
67
|
-
|
68
|
-
assert_equal 'US Open Cup', recs[1].name
|
69
|
-
assert_equal 'us.cup', recs[1].key
|
70
|
-
end
|
71
|
-
|
72
|
-
end # class TestLeagueReader
|
data/test/test_outline_reader.rb
DELETED
@@ -1,31 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
###
|
4
|
-
# to run use
|
5
|
-
# ruby -I ./lib -I ./test test/test_outline_reader.rb
|
6
|
-
|
7
|
-
|
8
|
-
require 'helper'
|
9
|
-
|
10
|
-
class TestOutlineReader < MiniTest::Test
|
11
|
-
|
12
|
-
def test_parse
|
13
|
-
outline = SportDb::OutlineReader.parse( <<TXT )
|
14
|
-
=============================
|
15
|
-
= ÖFB Cup 2011/12
|
16
|
-
=============================
|
17
|
-
|
18
|
-
FC Red Bull Salzburg ## Bundesliga
|
19
|
-
FK Austria Wien
|
20
|
-
TXT
|
21
|
-
|
22
|
-
pp outline
|
23
|
-
|
24
|
-
assert_equal 2, outline.size
|
25
|
-
|
26
|
-
assert_equal [:h1, 'ÖFB Cup 2011/12'], outline[0]
|
27
|
-
assert_equal [:p, ['FC Red Bull Salzburg',
|
28
|
-
'FK Austria Wien']], outline[1]
|
29
|
-
end
|
30
|
-
|
31
|
-
end # class TestOutlineReader
|
data/test/test_package.rb
DELETED
@@ -1,78 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
###
|
4
|
-
# to run use
|
5
|
-
# ruby -I ./lib -I ./test test/test_package.rb
|
6
|
-
|
7
|
-
|
8
|
-
require 'helper'
|
9
|
-
|
10
|
-
class TestPackage < MiniTest::Test
|
11
|
-
|
12
|
-
AUSTRIA_DIR = '../../../openfootball/austria'
|
13
|
-
AUSTRIA_CSV_DIR = '../../../footballcsv/austria'
|
14
|
-
|
15
|
-
ENGLAND_DIR = '../../../openfootball/england'
|
16
|
-
ENGLAND_CSV_DIR = '../../../footballcsv/england'
|
17
|
-
|
18
|
-
|
19
|
-
def test_match_by
|
20
|
-
|
21
|
-
[ AUSTRIA_CSV_DIR,
|
22
|
-
ENGLAND_CSV_DIR,
|
23
|
-
"#{SportDb::Test.data_dir}/packages/test-levels",
|
24
|
-
].each do |path|
|
25
|
-
puts
|
26
|
-
puts "match (csv) in #{path}:"
|
27
|
-
pack = SportDb::Package.new( path )
|
28
|
-
pp pack.match_by_season_dir( format: 'csv' )
|
29
|
-
puts "---"
|
30
|
-
pp pack.match_by_season( format: 'csv' )
|
31
|
-
end
|
32
|
-
|
33
|
-
[ AUSTRIA_DIR,
|
34
|
-
ENGLAND_DIR,
|
35
|
-
"#{SportDb::Test.data_dir}/packages/test-levels",
|
36
|
-
].each do |path|
|
37
|
-
puts
|
38
|
-
puts "match (txt) in #{path}:"
|
39
|
-
pack = SportDb::Package.new( path )
|
40
|
-
pp pack.match_by_season_dir
|
41
|
-
puts "---"
|
42
|
-
pp pack.match_by_season( start: '2000' ) ## note: try with start season filter!!
|
43
|
-
end
|
44
|
-
end
|
45
|
-
|
46
|
-
|
47
|
-
CLUBS_DIR = '../../../openfootball/clubs' ## source repo directory path
|
48
|
-
LEAGUES_DIR = '../../../openfootball/leagues'
|
49
|
-
|
50
|
-
def test_bundle
|
51
|
-
datafiles = SportDb::Package.find_clubs( CLUBS_DIR )
|
52
|
-
pp datafiles
|
53
|
-
|
54
|
-
## todo/fix: turn into Datafile::Bundle.new and Bundle#write/save -why? why not?
|
55
|
-
bundle = Datafile::Bundle.new( './tmp/clubs.txt' )
|
56
|
-
bundle.write <<TXT
|
57
|
-
##########################################
|
58
|
-
# auto-generated all-in-one single datafile clubs.txt bundle
|
59
|
-
# on #{Time.now} from #{datafiles.size} datafile(s)
|
60
|
-
TXT
|
61
|
-
bundle.write datafiles
|
62
|
-
bundle.close
|
63
|
-
end
|
64
|
-
|
65
|
-
def test_bundle_old
|
66
|
-
datafiles = SportDb::Package.find_leagues( LEAGUES_DIR )
|
67
|
-
pp datafiles
|
68
|
-
|
69
|
-
Datafile.write_bundle( './tmp/leagues.txt',
|
70
|
-
datafiles: datafiles,
|
71
|
-
header: <<TXT )
|
72
|
-
##########################################
|
73
|
-
# auto-generated all-in-one single datafile leagues.txt bundle
|
74
|
-
# on #{Time.now} from #{datafiles.size} datafile(s)
|
75
|
-
TXT
|
76
|
-
end
|
77
|
-
|
78
|
-
end # class TestPackage
|
data/test/test_package_match.rb
DELETED
@@ -1,102 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
###
|
4
|
-
# to run use
|
5
|
-
# ruby -I ./lib -I ./test test/test_package_match.rb
|
6
|
-
|
7
|
-
|
8
|
-
require 'helper'
|
9
|
-
|
10
|
-
class TestPackageMatch < MiniTest::Test
|
11
|
-
|
12
|
-
CLUBS_DIR = '../../../openfootball/clubs' ## source repo directory path
|
13
|
-
LEAGUES_DIR = '../../../openfootball/leagues'
|
14
|
-
AUSTRIA_DIR = '../../../openfootball/austria'
|
15
|
-
|
16
|
-
AUSTRIA_CSV_DIR = '../../../footballcsv/austria'
|
17
|
-
|
18
|
-
|
19
|
-
def test_find
|
20
|
-
datafiles = SportDb::Package.find_clubs( CLUBS_DIR )
|
21
|
-
pp datafiles
|
22
|
-
|
23
|
-
datafiles = SportDb::Package.find_clubs_wiki( CLUBS_DIR )
|
24
|
-
pp datafiles
|
25
|
-
|
26
|
-
datafiles = SportDb::Package.find_leagues( LEAGUES_DIR )
|
27
|
-
pp datafiles
|
28
|
-
|
29
|
-
datafiles = SportDb::Package.find_conf( AUSTRIA_DIR )
|
30
|
-
pp datafiles
|
31
|
-
|
32
|
-
datafiles = SportDb::Package.find_match( AUSTRIA_DIR )
|
33
|
-
puts
|
34
|
-
puts "== find_match (in #{AUSTRIA_DIR}) - found #{datafiles.size}:"
|
35
|
-
pp datafiles
|
36
|
-
|
37
|
-
datafiles = SportDb::Package.find_match( AUSTRIA_CSV_DIR )
|
38
|
-
puts
|
39
|
-
puts "== find_match (in #{AUSTRIA_CSV_DIR}) - found #{datafiles.size}:"
|
40
|
-
pp datafiles
|
41
|
-
|
42
|
-
|
43
|
-
datafiles = SportDb::Package.find_match( AUSTRIA_DIR, format: 'csv' )
|
44
|
-
puts
|
45
|
-
puts "== find_match+csv (in #{AUSTRIA_DIR}) - found #{datafiles.size}:"
|
46
|
-
pp datafiles
|
47
|
-
|
48
|
-
datafiles = SportDb::Package.find_match( AUSTRIA_CSV_DIR, format: 'csv' )
|
49
|
-
puts
|
50
|
-
puts "== find_match+csv (in #{AUSTRIA_CSV_DIR}) - found #{datafiles.size}:"
|
51
|
-
pp datafiles
|
52
|
-
end
|
53
|
-
|
54
|
-
|
55
|
-
CLUBS_TXT = [ ## with country code
|
56
|
-
'de.clubs.txt',
|
57
|
-
'deutschland/de.clubs.txt',
|
58
|
-
## without country code
|
59
|
-
'europe/de-deutschland/clubs.txt',
|
60
|
-
'de-deutschland/clubs.txt',
|
61
|
-
'deutschland/clubs.txt',
|
62
|
-
'clubs.txt' ]
|
63
|
-
|
64
|
-
CLUBS_WIKI_TXT = [ ## with country code
|
65
|
-
'de.clubs.wiki.txt',
|
66
|
-
'deutschland/de.clubs.wiki.txt',
|
67
|
-
## without country code
|
68
|
-
'europe/de-deutschland/clubs.wiki.txt',
|
69
|
-
'de-deutschland/clubs.wiki.txt',
|
70
|
-
'deutschland/clubs.wiki.txt',
|
71
|
-
'clubs.wiki.txt' ]
|
72
|
-
|
73
|
-
LEAGUES_TXT = [ 'europe/england/leagues.txt',
|
74
|
-
'england/leagues.txt',
|
75
|
-
'leagues.txt' ]
|
76
|
-
|
77
|
-
CONF_TXT = [ 'austria/archives/2000s/2001-02/.conf.txt',
|
78
|
-
'austria/2019-20/.conf.txt',
|
79
|
-
'.conf.txt' ]
|
80
|
-
|
81
|
-
|
82
|
-
def test_match_clubs
|
83
|
-
CLUBS_TXT.each { |path| assert SportDb::Package.match_clubs?( path ) }
|
84
|
-
|
85
|
-
CLUBS_WIKI_TXT.each { |path| assert !SportDb::Package.match_clubs?( path ) }
|
86
|
-
end
|
87
|
-
|
88
|
-
def test_match_clubs_wiki
|
89
|
-
CLUBS_WIKI_TXT.each { |path| assert SportDb::Package.match_clubs_wiki?( path ) }
|
90
|
-
|
91
|
-
CLUBS_TXT.each { |path| assert !SportDb::Package.match_clubs_wiki?( path ) }
|
92
|
-
end
|
93
|
-
|
94
|
-
def test_match_leagues
|
95
|
-
LEAGUES_TXT.each { |path| assert SportDb::Package.match_leagues?( path ) }
|
96
|
-
end
|
97
|
-
|
98
|
-
def test_match_conf
|
99
|
-
CONF_TXT.each { |path| assert SportDb::Package.match_conf?( path ) }
|
100
|
-
end
|
101
|
-
|
102
|
-
end # class TestPackageMatch
|
data/test/test_regex.rb
DELETED
@@ -1,67 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
###
|
4
|
-
# to run use
|
5
|
-
# ruby -I ./lib -I ./test test/test_regex.rb
|
6
|
-
|
7
|
-
|
8
|
-
require 'helper'
|
9
|
-
|
10
|
-
class TestRegex < MiniTest::Test
|
11
|
-
|
12
|
-
HEADER_SEP_RE = SportDb::MatchParser::HEADER_SEP_RE
|
13
|
-
|
14
|
-
def test_header_sep
|
15
|
-
assert_equal ['Round', 'Fr+Sa Dec 11+12'], 'Round // Fr+Sa Dec 11+12'.split( HEADER_SEP_RE )
|
16
|
-
assert_equal ['Round 11', 'Fr+Sa Dec 11+12'], 'Round 11 /// Fr+Sa Dec 11+12'.split( HEADER_SEP_RE )
|
17
|
-
assert_equal ['Round 11', 'Fr+Sa Dec 11+12'], 'Round 11 -- Fr+Sa Dec 11+12'.split( HEADER_SEP_RE )
|
18
|
-
assert_equal ['Round 11', 'Fr+Sa Dec 11+12'], 'Round 11 --- Fr+Sa Dec 11+12'.split( HEADER_SEP_RE )
|
19
|
-
assert_equal ['Round 11', 'Fr+Sa Dec 11+12'], 'Round 11 ++ Fr+Sa Dec 11+12'.split( HEADER_SEP_RE )
|
20
|
-
assert_equal ['Round 11', 'Fr+Sa Dec 11+12'], 'Round 11 +++ Fr+Sa Dec 11+12'.split( HEADER_SEP_RE )
|
21
|
-
assert_equal ['Round 11', 'Fr+Sa Dec 11+12'], 'Round 11 || Fr+Sa Dec 11+12'.split( HEADER_SEP_RE )
|
22
|
-
|
23
|
-
assert_equal ['Final - Leg 1'], 'Final - Leg 1'.split( HEADER_SEP_RE )
|
24
|
-
assert_equal ['Final | Leg 1'], 'Final | Leg 1'.split( HEADER_SEP_RE )
|
25
|
-
assert_equal ['Final / Leg 1'], 'Final / Leg 1'.split( HEADER_SEP_RE )
|
26
|
-
assert_equal ['Final, Leg 1'], 'Final, Leg 1'.split( HEADER_SEP_RE )
|
27
|
-
end
|
28
|
-
|
29
|
-
|
30
|
-
ADDR_MARKER_RE = SportDb::Import::ClubReader::ADDR_MARKER_RE
|
31
|
-
B_TEAM_MARKER_RE = SportDb::Import::ClubReader::B_TEAM_MARKER_RE
|
32
|
-
|
33
|
-
def test_addr
|
34
|
-
assert '~ Wien' =~ ADDR_MARKER_RE
|
35
|
-
assert 'Wien ~' =~ ADDR_MARKER_RE
|
36
|
-
assert 'Fischhofgasse 12 ~ 1100 Wien' =~ ADDR_MARKER_RE
|
37
|
-
assert 'Fischhofgasse 12 ++ 1100 Wien' =~ ADDR_MARKER_RE
|
38
|
-
assert 'Fischhofgasse 12 +++ 1100 Wien' =~ ADDR_MARKER_RE
|
39
|
-
assert 'Fischhofgasse 12 // 1100 Wien' =~ ADDR_MARKER_RE
|
40
|
-
assert 'Fischhofgasse 12 /// 1100 Wien' =~ ADDR_MARKER_RE
|
41
|
-
|
42
|
-
assert_nil 'Fischhofgasse 12 + 1100 Wien' =~ ADDR_MARKER_RE
|
43
|
-
assert_nil 'Fischhofgasse 12++1100 Wien' =~ ADDR_MARKER_RE ## todo/fix: make it a match!!! why? why not?
|
44
|
-
assert_nil 'Fischhofgasse 12 / 1100 Wien' =~ ADDR_MARKER_RE
|
45
|
-
assert_nil 'Fischhofgasse 12//1100 Wien' =~ ADDR_MARKER_RE ## todo/fix: make it a match!!! why? why not?
|
46
|
-
|
47
|
-
assert_nil 'Atlanta United FC, 2017, Atlanta › Georgia' =~ ADDR_MARKER_RE
|
48
|
-
end
|
49
|
-
|
50
|
-
def test_b_team
|
51
|
-
assert 'b) Rapid Wien II' =~ B_TEAM_MARKER_RE
|
52
|
-
assert '(b) Rapid Wien II' =~ B_TEAM_MARKER_RE
|
53
|
-
assert '(b.) Rapid Wien II' =~ B_TEAM_MARKER_RE
|
54
|
-
assert 'ii) Rapid Wien II' =~ B_TEAM_MARKER_RE
|
55
|
-
assert 'II) Rapid Wien II' =~ B_TEAM_MARKER_RE
|
56
|
-
assert '(ii.) Rapid Wien II' =~ B_TEAM_MARKER_RE
|
57
|
-
assert '2) Rapid Wien II' =~ B_TEAM_MARKER_RE
|
58
|
-
assert '(2) Rapid Wien II' =~ B_TEAM_MARKER_RE
|
59
|
-
|
60
|
-
assert_nil '(3) Rapid Wien II' =~ B_TEAM_MARKER_RE
|
61
|
-
assert_nil '(iii) Rapid Wien II' =~ B_TEAM_MARKER_RE
|
62
|
-
assert_nil 'iii) Rapid Wien II' =~ B_TEAM_MARKER_RE
|
63
|
-
assert_nil 'c) Rapid Wien II' =~ B_TEAM_MARKER_RE
|
64
|
-
assert_nil '(c) Rapid Wien II' =~ B_TEAM_MARKER_RE
|
65
|
-
end
|
66
|
-
|
67
|
-
end # class TestRegex
|
data/test/test_wiki_reader.rb
DELETED
@@ -1,77 +0,0 @@
|
|
1
|
-
# encoding: utf-8
|
2
|
-
|
3
|
-
###
|
4
|
-
# to run use
|
5
|
-
# ruby -I ./lib -I ./test test/test_wiki_reader.rb
|
6
|
-
|
7
|
-
|
8
|
-
require 'helper'
|
9
|
-
|
10
|
-
class TestWikiReader < MiniTest::Test
|
11
|
-
|
12
|
-
def test_parse_at
|
13
|
-
recs = SportDb::Import::WikiReader.parse( <<TXT )
|
14
|
-
===================================
|
15
|
-
= Albania
|
16
|
-
|
17
|
-
FK Partizani Tirana
|
18
|
-
KF Tirana
|
19
|
-
FK Kukësi
|
20
|
-
KF Laçi
|
21
|
-
TXT
|
22
|
-
|
23
|
-
pp recs
|
24
|
-
|
25
|
-
assert_equal 4, recs.size
|
26
|
-
assert_equal 'FK Partizani Tirana', recs[0].name
|
27
|
-
assert_equal 'Albania', recs[0].country.name
|
28
|
-
assert_equal 'al', recs[0].country.key
|
29
|
-
end
|
30
|
-
|
31
|
-
|
32
|
-
def test_parse_be
|
33
|
-
recs = SportDb::Import::WikiReader.parse( <<TXT )
|
34
|
-
===========================
|
35
|
-
= Belgium
|
36
|
-
|
37
|
-
R.S.C._Anderlecht
|
38
|
-
Royal_Antwerp_F.C.
|
39
|
-
Cercle_Brugge_K.S.V.
|
40
|
-
R._Charleroi_S.C.
|
41
|
-
Club_Brugge_KV
|
42
|
-
TXT
|
43
|
-
|
44
|
-
pp recs
|
45
|
-
|
46
|
-
assert_equal 5, recs.size
|
47
|
-
assert_equal 'R.S.C. Anderlecht', recs[0].name
|
48
|
-
assert_equal 'Belgium', recs[0].country.name
|
49
|
-
assert_equal 'be', recs[0].country.key
|
50
|
-
end
|
51
|
-
|
52
|
-
def test_parse_world
|
53
|
-
recs = SportDb::Import::WikiReader.parse( <<TXT )
|
54
|
-
= Albania =
|
55
|
-
|
56
|
-
FK Partizani Tirana
|
57
|
-
|
58
|
-
|
59
|
-
= Belgium =
|
60
|
-
|
61
|
-
# some comments here
|
62
|
-
R.S.C._Anderlecht # some end-of-line comments here
|
63
|
-
TXT
|
64
|
-
|
65
|
-
pp recs
|
66
|
-
|
67
|
-
assert_equal 2, recs.size
|
68
|
-
assert_equal 'FK Partizani Tirana', recs[0].name
|
69
|
-
assert_equal 'Albania', recs[0].country.name
|
70
|
-
assert_equal 'al', recs[0].country.key
|
71
|
-
|
72
|
-
assert_equal 'R.S.C. Anderlecht', recs[1].name
|
73
|
-
assert_equal 'Belgium', recs[1].country.name
|
74
|
-
assert_equal 'be', recs[1].country.key
|
75
|
-
end
|
76
|
-
|
77
|
-
end # class TestWikiReader
|