Example #1
0
        public void WithTwoLegsBetweenOpponents_And5Teams_ThereShouldBe20Games()
        {
            /* This is because each team has 8 games (home and away against 4 opponents) and there
             * are two teams involved in each game; (8 * 5) / 2 = 20
             */
            List <TeamPlayer> teamPlayers = new List <TeamPlayer>
            {
                new TeamPlayer {
                    Id = 0
                },
                new TeamPlayer {
                    Id = 1
                },
                new TeamPlayer {
                    Id = 2
                },
                new TeamPlayer {
                    Id = 3
                },
                new TeamPlayer {
                    Id = 4
                }
            };

            var matches = MatchCreationHelper.create(teamPlayers, 2);

            Assert.AreEqual(20, matches.Count);
        }
Example #2
0
        public void WithOneLegBetweenOpponents_And5Teams_ThereShouldBe10Games()
        {
            /* This is because each team has 4 games and there are two teams involved in each game;
             * (4 * 5) / 2 = 10
             */
            List <TeamPlayer> teamPlayers = new List <TeamPlayer>
            {
                new TeamPlayer {
                    Id = 0
                },
                new TeamPlayer {
                    Id = 1
                },
                new TeamPlayer {
                    Id = 2
                },
                new TeamPlayer {
                    Id = 3
                },
                new TeamPlayer {
                    Id = 4
                }
            };

            var matches = MatchCreationHelper.create(teamPlayers, 1);

            Assert.AreEqual(10, matches.Count);
        }
Example #3
0
        public void WithOneLegBetweenOpponents_OneMatchIsCreatedBetweenEachPairOfTeams()
        {
            List <TeamPlayer> teamPlayers = new List <TeamPlayer>
            {
                new TeamPlayer {
                    Id = 0
                },
                new TeamPlayer {
                    Id = 1
                }
            };
            var matches = MatchCreationHelper.create(teamPlayers, 1);

            Assert.AreEqual(1, matches.Count);
            var match1 = matches.ElementAt(0);

            Assert.AreEqual(0, match1.Scores.ElementAt(0).TeamPlayerId);
            Assert.AreEqual(1, match1.Scores.ElementAt(1).TeamPlayerId);
        }
Example #4
0
        public void WithFourLegsBetweenOpponents_And20Teams_ThereShouldBe760Games()
        {
            /*
             * Testing extreme
             * 19 Opponents * 4 legs = 76 games per team
             * 76 games per team * 20 teams = 1520 games
             * 1420 games / 2 players per game = 760 unique games
             */
            List <TeamPlayer> teamPlayers = new List <TeamPlayer>();

            for (int i = 0; i < 20; i++)
            {
                teamPlayers.Add(new TeamPlayer {
                    Id = i
                });
            }
            var matches = MatchCreationHelper.create(teamPlayers, 4);

            Assert.AreEqual(760, matches.Count);
        }
Example #5
0
        public void WithTwoLegsBetweenOpponents_HomeAndAwayMatchesAreCreatedBetweenEachPairOfTeams()
        {
            List <TeamPlayer> teamPlayers = new List <TeamPlayer>
            {
                new TeamPlayer {
                    Id = 0
                },
                new TeamPlayer {
                    Id = 1
                }
            };
            var matches = MatchCreationHelper.create(teamPlayers, 2);

            Assert.AreEqual(2, matches.Count);
            var match1 = matches.ElementAt(0);

            Assert.AreEqual(0, match1.Scores.ElementAt(0).TeamPlayerId);
            Assert.AreEqual(1, match1.Scores.ElementAt(1).TeamPlayerId);
            var match2 = matches.ElementAt(1);

            Assert.AreEqual(1, match2.Scores.ElementAt(0).TeamPlayerId);
            Assert.AreEqual(0, match2.Scores.ElementAt(1).TeamPlayerId);
        }