Пример #1
0
        public void UpdatePlayerRankScores_ThreePlayers_SkipOnEqualRanking()
        {
            var scoredPlayers = new[] { new Player {
                                            RankingScore = 1000
                                        }, new Player {
                                            RankingScore = 1000
                                        }, new Player {
                                            RankingScore = 900
                                        } };

            var rankedPlayers = TournamentsService.RecalculateRankings(scoredPlayers);

            Assert.IsTrue(rankedPlayers[0].Rank == 1 && rankedPlayers[1].Rank == 1 && rankedPlayers[2].Rank == 3, "Ranking should reflect the influence of previously equal rankings.");
        }
Пример #2
0
        public void UpdatePlayerRankScores_TwoPlayersDifferentScore_NoRankLessThan1()
        {
            // Arrange
            var scoredPlayers = new[] { new Player {
                                            RankingScore = 1000
                                        }, new Player {
                                            RankingScore = 2000
                                        } };

            // Act
            var rankedPlayers = TournamentsService.RecalculateRankings(scoredPlayers);

            // Assert
            Assert.IsFalse(rankedPlayers.Any(p => p.Rank < 1), "Ranks should start at 1");
        }
Пример #3
0
        public void UpdatePlayerRankScores_TwoPlayersDifferentScore_HigherRankIsRankedFirst()
        {
            // Arrange
            var scoredPlayers = new[] { new Player {
                                            RankingScore = 1000
                                        }, new Player {
                                            RankingScore = 2000
                                        } };

            // Act
            var rankedPlayers = TournamentsService.RecalculateRankings(scoredPlayers);

            // Assert
            Assert.IsTrue(rankedPlayers.First(p => p.RankingScore == 2000).Rank == 1, "The player with the higher ranking score should be ranked 1st (1)");
        }
Пример #4
0
        public void UpdatePlayerRankScores_TwoPlayersSameScore_RankIsNotNull()
        {
            // Arrange
            var scoredPlayers = new[] { new Player {
                                            RankingScore = 1000
                                        }, new Player {
                                            RankingScore = 1000
                                        } };

            // Act
            var rankedPlayers = TournamentsService.RecalculateRankings(scoredPlayers);

            // Assert
            Assert.IsFalse(rankedPlayers.Any(p => p is null), "No player rank should be null");
        }
Пример #5
0
        public void UpdatePlayerRankScores_TwoPlayersSameScore_BothPlayersHaveSameRank()
        {
            // Arrange
            var scoredPlayers = new[] { new Player {
                                            RankingScore = 1000
                                        }, new Player {
                                            RankingScore = 1000
                                        } };

            // Act
            var rankedPlayers = TournamentsService.RecalculateRankings(scoredPlayers);

            // Assert
            Assert.AreEqual(rankedPlayers[0].Rank, rankedPlayers[1].Rank, "The ranks of these two players should be the same, because they have the same score.");
        }