public MatchSetupParameters(bool isDoubles, int setsPerMatch, int gamesPerSet, IParametricFactory <ISetCounter, IParametricFactory <IGameCounter, EnumTeams> > setCounterFactory) { IsDoubles = isDoubles; SetsPerMatch = setsPerMatch; GamesPerSet = gamesPerSet; SetCounterFactory = setCounterFactory ?? throw new ArgumentNullException(nameof(setCounterFactory)); }
public AdvantageSetGameCounter(IParametricFactory <IPointCounter, EnumTeams> normalGamePointCounterFactory, int leastWinningGames, int leastWinningDifference, EnumTeams initialServiceRight) : base(normalGamePointCounterFactory?.Create(initialServiceRight) ?? throw new ArgumentNullException(nameof(normalGamePointCounterFactory)), initialServiceRight) { NormalGamePointCounterFactory = normalGamePointCounterFactory ?? throw new ArgumentNullException(nameof(normalGamePointCounterFactory)); LeastWinningGames = leastWinningGames > 0 ? leastWinningGames : throw new ArgumentOutOfRangeException(nameof(leastWinningGames), $"The leastWinningGames must be grater than 0!"); LeastWinningDifference = leastWinningDifference >= 0 ? leastWinningDifference : throw new ArgumentOutOfRangeException(nameof(leastWinningDifference), $"The leastWinningGames must be grater than or equal to 0!"); }
public MatchTieBreakSetCounter(IParametricFactory <IGameCounter, EnumTeams> gameCounterFactory, int totalSets, int matchTieBreakPointCount, int matchTieBreakPointLeastDifference, EnumTeams initialServiceRight) : base(gameCounterFactory.Create(initialServiceRight) ?? throw new ArgumentNullException(nameof(gameCounterFactory)), initialServiceRight) { GameCounterFactory = gameCounterFactory ?? throw new ArgumentNullException(nameof(gameCounterFactory)); TotalSets = totalSets; MatchTieBreakPointCount = matchTieBreakPointCount; MatchTieBreakPointLeastDifference = matchTieBreakPointLeastDifference; }
public TieBreakSetGameCounter(IParametricFactory <IPointCounter, EnumTeams> normalGamePointCounterFactory, IParametricFactory <TieBrakingPointCounter, EnumTeams> tieBreakingGamePointCounterFactory, int leastWinningGames, int baseWinningDifference, EnumTeams initialServiceRight) : base(normalGamePointCounterFactory?.Create(initialServiceRight) ?? throw new ArgumentNullException(nameof(normalGamePointCounterFactory)), initialServiceRight) { NormalGamePointCounterFactory = normalGamePointCounterFactory ?? throw new ArgumentNullException(nameof(normalGamePointCounterFactory)); TieBreakingGamePointCounterFactory = tieBreakingGamePointCounterFactory ?? throw new ArgumentNullException(nameof(tieBreakingGamePointCounterFactory)); LeastWinningGames = leastWinningGames; BaseWinningDifference = baseWinningDifference; }
public StandardSetCounter(IParametricFactory <IGameCounter, EnumTeams> gameCounterFactory, int totalSets, EnumTeams initialServiceRight) : base(gameCounterFactory?.Create(initialServiceRight) ?? throw new ArgumentNullException(nameof(gameCounterFactory)), initialServiceRight) { GameCounterFactory = gameCounterFactory ?? throw new ArgumentNullException(nameof(gameCounterFactory)); TotalSets = totalSets; }
public static IParametricFactory <AdvantageSetGameCounter, EnumTeams> CreateFactory(IParametricFactory <IPointCounter, EnumTeams> normalGamePointCounterFactory, int leastWinningGames, int leastWinningDifference) => Extensions.CreateParametricFactory <AdvantageSetGameCounter, EnumTeams>(isr => new AdvantageSetGameCounter(normalGamePointCounterFactory, leastWinningGames, leastWinningDifference, isr));
public static IParametricFactory <TieBreakSetGameCounter, EnumTeams> CreateFactory(IParametricFactory <IPointCounter, EnumTeams> normalGamePointCounterFactory, IParametricFactory <TieBrakingPointCounter, EnumTeams> tieBreakingGamePointCounterFactory, int leastWinningGames, int baseWinningDifference) => Extensions.CreateParametricFactory <TieBreakSetGameCounter, EnumTeams>(isr => new TieBreakSetGameCounter(normalGamePointCounterFactory, tieBreakingGamePointCounterFactory, leastWinningGames, baseWinningDifference, isr));