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); }
 }
Esempio n. 6
0
 /// <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;
 }