Beispiel #1
0
        public async Task CalculateElo_TieGameWithDifferentElo_EloChanged()
        {
            var match = new MatchBuilder <TwoPlayerMatch>()
                        .WithParticipants("Player 1", 1000, "Player 2", 1200)
                        .Build();
            var result = await _sut.AddMatchAsync <TwoPlayerMatch>(match);

            var player1 = result.Player1;
            var player2 = result.Player2;

            Assert.Equal(1007.8, player1.CurrentElo, 1);
            Assert.Equal(1192.2, player2.CurrentElo, 1);
        }
Beispiel #2
0
        public async Task CalculateElo_EloChangeBelowZero_ReturnsZero()
        {
            var match = new MatchBuilder <TwoPlayerMatch>()
                        .WithParticipants("Player 1", 0, "Player 2", 1000)
                        .WithWinningTeam(TeamSide.Away)
                        .Build();

            var result = await _sut.AddMatchAsync <TwoPlayerMatch>(match);

            var player1 = result.Player1;

            Assert.Equal("Player 1", player1.Name);
            Assert.Equal(0, player1.CurrentElo);
        }
Beispiel #3
0
        public async Task CalculateElo_RankedTeamTeam2Wins_EloUpdated()
        {
            var match = new MatchBuilder <TeamMatch>()
                        .WithParticipants("Team 1", 1200, "Team 2", 1000)
                        .WithWinningTeam(TeamSide.Away)
                        .Build();
            var result = await _sut.AddMatchAsync <TeamMatch>(match);

            var team1 = result.Team1;
            var team2 = result.Team2;

            Assert.Equal("Team 1", team1.Name);
            Assert.Equal(1177.2, team1.CurrentElo, 1);
            Assert.Equal("Team 2", team2.Name);
            Assert.Equal(1022.8, team2.CurrentElo, 1);
        }
Beispiel #4
0
        public async Task CalculateElo_TwoPlayersTeam2Wins_EloUpdated()
        {
            var match = new MatchBuilder <TwoPlayerMatch>()
                        .WithParticipants("Player 1", 1200, "Player 2", 1000)
                        .WithWinningTeam(TeamSide.Away)
                        .Build();

            var result = await _sut.AddMatchAsync <TwoPlayerMatch>(match);

            var player1 = result.Player1;
            var player2 = result.Player2;

            Assert.Equal("Player 1", player1.Name);
            Assert.Equal(1177.2, player1.CurrentElo, 1);
            Assert.Equal("Player 2", player2.Name);
            Assert.Equal(1022.8, player2.CurrentElo, 1);
        }