public static void TestUtilizationNoPlayers() { Team t1 = new Team("T1", league); league.Teams.Add(t1); Team t2 = new Team("T2", league); league.Teams.Add(t2); league.Games.Add(new Game(t1, t2, DateTime.Today)); double util = league.ComputeUtilization(DateTime.Today, DateTime.Today, new Player[] { }); Assert.AreEqual(0.0, util); }
private static Team resolveTeam(League league, string teamName) { Team team; if (league.Teams.Contains(teamName)) { team = league.Teams[teamName]; } else { team = new Team(teamName, league); league.Teams.Add(team); } return team; }
public static void TestUtilizationPlayerPosition1() { Team t1 = new Team("T1", league); league.Teams.Add(t1); Team t2 = new Team("T2", league); league.Teams.Add(t2); league.Games.Add(new Game(t1, t2, DateTime.Today)); var players = new List<Player>(); foreach (var position in league.StartingLineupPositions) { Player p = new Player(string.Empty, t1, new[] { position }); players.Add(p); t1.Players.Add(p); } double util = league.ComputeUtilization(DateTime.Today, DateTime.Today, players); Assert.AreEqual(1.0, util); }
public static void TestUtilizationPlayerPositionsMixed6() { Team t1 = new Team("T1", league); league.Teams.Add(t1); Team t2 = new Team("T2", league); league.Teams.Add(t2); league.Games.Add(new Game(t1, t2, DateTime.Today)); var players = new List<Player>(); players.Add(new Player(string.Empty, t1, new Position[] { Position.RW, Position.D })); players.Add(new Player(string.Empty, t1, new Position[] { Position.RW, Position.D })); players.Add(new Player(string.Empty, t1, new Position[] { Position.C, Position.RW })); players.Add(new Player(string.Empty, t1, new Position[] { Position.C, Position.RW })); players.Add(new Player(string.Empty, t1, new Position[] { Position.C, Position.LW })); players.Add(new Player(string.Empty, t1, new Position[] { Position.RW, Position.D })); players.Add(new Player(string.Empty, t1, new Position[] { Position.C, Position.LW })); players.Add(new Player(string.Empty, t1, new Position[] { Position.LW, Position.RW })); players.Add(new Player(string.Empty, t1, new Position[] { Position.D, Position.LW })); players.Add(new Player(string.Empty, t1, new Position[] { Position.D, Position.LW })); players.Add(new Player(string.Empty, t1, new Position[] { Position.G, Position.LW })); players.Add(new Player(string.Empty, t1, new Position[] { Position.G, Position.RW })); foreach (var player in players) { t1.Players.Add(player); } double util = league.ComputeUtilization(DateTime.Today, DateTime.Today, players); Assert.AreEqual(1.0, util); }
/// <summary>Creates a new <see cref="Player"/>.</summary> /// <param name="name">The name of the player.</param> /// <param name="team">The team the player plays for.</param> /// <param name="positions">The positions the player can play.</param> public Player(string name, Team team = null, IEnumerable<Position> positions = null) { this.Name = name; this.Team = team; if (positions != null) { this.positions.AddRange(positions); } }
/// <summary>Creates a <see cref="Game"/>.</summary> /// <param name="homeTeam">The home team.</param> /// <param name="visitingTeam">The visiting team.</param> /// <param name="dateTime">The date of the game.</param> public Game(Team homeTeam, Team visitingTeam, DateTime dateTime) { this.HomeTeam = homeTeam; this.VisitingTeam = visitingTeam; this.DateTime = dateTime; }