From feaaf4f88ae64a62fcb5eac7e8afce984173a7d6 Mon Sep 17 00:00:00 2001 From: Thibault Duplessis Date: Sun, 28 Oct 2012 20:01:23 +0100 Subject: [PATCH] validate tournament duration --- app/tournament/DataForm.scala | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/app/tournament/DataForm.scala b/app/tournament/DataForm.scala index e1ef1c1db8a0..0977b72492aa 100644 --- a/app/tournament/DataForm.scala +++ b/app/tournament/DataForm.scala @@ -38,6 +38,7 @@ final class DataForm(isDev: Boolean) { "minPlayers" -> numberIn(minPlayerChoices) )(TournamentSetup.apply)(TournamentSetup.unapply) .verifying("Invalid clock", _.validClock) + .verifying("Increase tournament duration, or decrease game clock", _.validTiming) ) fill TournamentSetup( clockTime = clockTimeDefault, clockIncrement = clockIncrementDefault, @@ -45,11 +46,15 @@ final class DataForm(isDev: Boolean) { minPlayers = minPlayerDefault) } -case class TournamentSetup( +private[tournament] case class TournamentSetup( clockTime: Int, clockIncrement: Int, minutes: Int, minPlayers: Int) { def validClock = (clockTime + clockIncrement) > 0 + + def validTiming = (minutes * 60) >= (3 * estimatedGameDuration) + + private def estimatedGameDuration = 60 * clockTime + 30 * clockIncrement }