League
package com.quadstingray.openligadb
import org.joda.time.DateTime
class LeagueSpec extends org.specs2.mutable.Specification {
"League" >> {
"getCurrentMatches must return List of 9 elements for bl1" >> {
val league = League("bl1")
val matches = league.currentMatches
matches.size must equalTo(9)
}
"getCurrentSeason " >> {
val league = League("bl1")
val season = league.currentSeason
val currentYear = new DateTime().getYear
season.year must beBetween(currentYear - 1, currentYear + 1)
season.league must beEqualTo(league)
}
"getSeason " >> {
val league = League("bl1")
val season = league.season(2015)
season.year must beEqualTo(2015)
season.id must beEqualTo(848)
season.league must beEqualTo(league)
}
"getSeasons " >> {
val league = League("bl1")
val seasons = league.seasons
seasons.size must beGreaterThanOrEqualTo(16)
}
"getCurrentMatchGroup " >> {
val league = League("bl1")
val matchGroup = league.currentMatchGroup
matchGroup.id must beGreaterThanOrEqualTo(28957l)
matchGroup.matchGroupOrderNumber must beGreaterThanOrEqualTo(1)
matchGroup.name must beEqualTo("%s. Spieltag".format(matchGroup.matchGroupOrderNumber))
}
"lastMatch " >> {
val league = League("cl15")
val openLigaMatch = league.lastMatch.get
openLigaMatch.id must beGreaterThan(100l)
openLigaMatch.finalResult.isDefined must beTrue
openLigaMatch.finalResult.get.name must beEqualTo("Endergebnis")
openLigaMatch.finalResult.get.scoreTeam1 must beGreaterThanOrEqualTo(2)
openLigaMatch.finalResult.get.scoreTeam2 must beGreaterThanOrEqualTo(1)
}
"nextMatch " >> {
val league = League("bl1")
val openLigaMatchOption: Option[MatchData] = league.nextMatch
if (openLigaMatchOption.isDefined) {
val openLigaMatch = openLigaMatchOption.get
openLigaMatch.id must beGreaterThanOrEqualTo(28957l)
} else {
league.currentMatchGroup.matchGroupOrderNumber must beEqualTo(34)
}
}
"nextMatch where no next match exists" >> {
val league = League("wm14")
val openLigaMatch = league.nextMatch
openLigaMatch must beNone
}
"lastMatch where no next match exists" >> {
val league = League("WMTipp18_1")
val openLigaMatch = league.lastMatch
openLigaMatch must beNone
}
"matches between 02.03.2017 11:30 - 04.03.2017 10:00 " >> {
val league = League("bl1")
val startDate: DateTime = new DateTime("2017-03-02T11:30Z")
val endDate: DateTime = new DateTime("2017-04-04T11:30Z")
val openLigaMatch = league.matchesBetween(startDate, endDate)
openLigaMatch.size must beGreaterThanOrEqualTo(36)
}
}
}
0.7.4