1st
This commit is contained in:
130
tennis_test.go
Normal file
130
tennis_test.go
Normal file
@@ -0,0 +1,130 @@
|
||||
package flashscore
|
||||
|
||||
import (
|
||||
"encoding/json"
|
||||
"fmt"
|
||||
"os"
|
||||
"testing"
|
||||
)
|
||||
|
||||
func TestTennisParseAllGames(t *testing.T) {
|
||||
// flashscore format
|
||||
buf, err := os.ReadFile("for_parse/allGamesTennis.fsf")
|
||||
//buf, err := ioutil.ReadFile("for_parse/allGamesHandball.fsf")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
str := string(buf)
|
||||
|
||||
/*
|
||||
list, err := ParseFlashscoreEncoding(str)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
for _,m := range list {
|
||||
for k, v := range m {
|
||||
fmt.Printf("%s: %s\n", k, v)
|
||||
}
|
||||
fmt.Println()
|
||||
}
|
||||
*/
|
||||
|
||||
matches, err := parseFlashscoreEncodedAllGames(str, Tennis)
|
||||
//matches, err := ParseFlashscoreEncoding(str)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
buf, _ = json.MarshalIndent(matches, "", " ")
|
||||
fmt.Printf("%s\n\n", buf)
|
||||
}
|
||||
|
||||
func TestTennisParseMatchScore(t *testing.T) {
|
||||
str := "DA÷3¬DZ÷3¬DB÷3¬DD÷1618078710¬AW÷1¬DC÷1618074000¬DS÷0¬DE÷2¬DF÷0¬DG÷2¬DH÷0¬DI÷-1¬DK÷1618078747¬DL÷3¬DM÷¬DT÷¬DX÷ST,MH,MC,OD,HH,DR¬DEI÷https://www.flashscore.com/res/image/data/p2vtlMHG-xfKxQmxa-MiVx2mEg.png¬DR÷0¬DV÷2¬DJ÷H¬AZ÷1¬SC÷417¬SB÷3¬SD÷1xBet¬A1÷¬~"
|
||||
|
||||
homeScore, awayScore, err := parseHandballMatchScore(str)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
fmt.Printf("home - away: %d-%d\n\n", homeScore, awayScore)
|
||||
}
|
||||
|
||||
func TestTennisParseScoreByPeriods(t *testing.T) {
|
||||
// 2 sets
|
||||
// str := "AC÷3¬BA÷6¬BB÷1¬RC÷0:44¬~BC÷6¬BD÷2¬RD÷0:42¬~RB÷1:26¬~A1÷¬~"
|
||||
|
||||
// 3 sets
|
||||
//str := "AC÷3¬BA÷7¬DA÷7¬BB÷6¬DB÷2¬RC÷1:05¬~BC÷4¬BD÷6¬RD÷0:50¬~BE÷6¬BF÷2¬RE÷0:43¬~RB÷2:38¬~PSPH÷WC¬PSPA÷11¬A1÷¬~"
|
||||
|
||||
// 5 sets
|
||||
str := "AC÷3¬BA÷3¬BB÷6¬RC÷0:36¬~BC÷7¬DC÷7¬BD÷6¬DD÷5¬RD÷1:18¬~BE÷7¬DE÷7¬BF÷6¬DF÷4¬RE÷1:08¬~BG÷0¬BH÷6¬RF÷0:29¬~BI÷6¬BJ÷3¬RG÷0:38¬~RB÷4:09¬~PSPH÷20¬PSPA÷12¬A1÷¬~"
|
||||
|
||||
score, hasScoreByPeriods, err := parseTennisTeamScoreByPeriods(str)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
buf, _ := json.MarshalIndent(score, "", " ")
|
||||
fmt.Printf("hasScoreByPeriods: %t, %s\n\n", hasScoreByPeriods, buf)
|
||||
}
|
||||
|
||||
func TestTennisParseOdds(t *testing.T) {
|
||||
// Строку возвращает отдельный запрос на адрес handballOddsURL
|
||||
// flashscore format
|
||||
buf, err := os.ReadFile("for_parse/tennisOdds.fsf")
|
||||
//buf, err := os.ReadFile("for_parse/oddsHandball.fsf")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
str := string(buf)
|
||||
|
||||
odds, err := parseFlashscoreEncodedOdds(str)
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
|
||||
//odds, err := ParseFlashscoreEncoding(str)
|
||||
//if err != nil {
|
||||
// return
|
||||
//}
|
||||
|
||||
buf, _ = json.MarshalIndent(odds, "", " ")
|
||||
fmt.Printf("%s\n\n", buf)
|
||||
}
|
||||
|
||||
func TestTennisParseMatchStat(t *testing.T) {
|
||||
// Строку возвращает отдельный запрос на адрес handballOddsURL
|
||||
// flashscore format
|
||||
buf, err := os.ReadFile("for_parse/tennisMatchStat.fsf")
|
||||
if err != nil {
|
||||
t.Fatal(err)
|
||||
}
|
||||
str := string(buf)
|
||||
|
||||
stat, err := parseTennisMatchStat(str)
|
||||
if err != nil {
|
||||
return
|
||||
}
|
||||
|
||||
buf, _ = json.MarshalIndent(stat, "", " ")
|
||||
fmt.Printf("%s\n\n", buf)
|
||||
}
|
||||
|
||||
// TestParseBreakpointsString - строка из таблицы статистики по матчу.
|
||||
func TestParseBreakpointsString(t *testing.T) {
|
||||
bp := parseBreakpoints("50% (0/4)")
|
||||
|
||||
fmt.Printf("breakpoints: %#v\n", bp)
|
||||
|
||||
}
|
||||
|
||||
//
|
||||
|
||||
func TestParseTennisSurfaceFromChampName(t *testing.T) {
|
||||
surface := ParseTennisSurfaceFromChampName("ITF MEN - SINGLES M25 Reus (Spain), clay")
|
||||
|
||||
fmt.Printf("Surface: %s\n", surface)
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user