def test_twoOnTwoDrawTest(self): player1 = Player(1) player2 = Player(2) player3 = Player(3) player4 = Player(4) team1 = Team(player1, self.gameInfo.defaultRating) team1.addPlayer(player2, self.gameInfo.defaultRating) team2 = Team(player3, self.gameInfo.defaultRating) team2.addPlayer(player4, self.gameInfo.defaultRating) teams = [team1, team2] for newRating in self.calculator.calculateNewRatings(self.gameInfo, teams, [1, 1]): self.assertRating(25, 7.455, newRating[1]) self.assertMatchQuality(0.447, self.calculator.calculateMatchQuality(self.gameInfo, teams))
def test_oneOnOneMassiveUpsetDrawTest(self): player1 = Player(1) player2 = Player(2) team1 = Team() team1.addPlayer(player1, self.gameInfo.defaultRating) team2 = Team() team2.addPlayer(player2, Rating(50, 12.5)) teams = [team1, team2] newRatingsWinLose = self.calculator.calculateNewRatings(self.gameInfo, teams, [1, 1]) for newRating in newRatingsWinLose: player = newRating[0] if player == player1: self.assertRating(31.662, 7.137, newRating[1]) else: self.assertRating(35.010, 7.910, newRating[1]) self.assertMatchQuality(.110, self.calculator.calculateMatchQuality(self.gameInfo, teams))
def test_twoOnTwoSimpleTest(self): player1 = Player(1) player2 = Player(2) player3 = Player(3) player4 = Player(4) team1 = Team(player1, self.gameInfo.defaultRating) team1.addPlayer(player2, self.gameInfo.defaultRating) team2 = Team(player3, self.gameInfo.defaultRating) team2.addPlayer(player4, self.gameInfo.defaultRating) teams = [team1, team2] for newRating in self.calculator.calculateNewRatings(self.gameInfo, teams, [1, 2]): player = newRating[0] if player == player1 or player == player2: self.assertRating(28.108, 7.774, newRating[1]) else: self.assertRating(21.892, 7.774, newRating[1]) self.assertMatchQuality(0.447, self.calculator.calculateMatchQuality(self.gameInfo, teams))
def test_oneOnThreeDrawTest(self): player1 = Player(1) player2 = Player(2) player3 = Player(3) player4 = Player(4) team1 = Team(player1, self.gameInfo.defaultRating) team2 = Team(player2, self.gameInfo.defaultRating) team2.addPlayer(player3, self.gameInfo.defaultRating) team2.addPlayer(player4, self.gameInfo.defaultRating) teams = [team1, team2] newRatings = self.calculator.calculateNewRatings(self.gameInfo, teams, [1, 1]) for newRating in newRatings: player = newRating[0] if player == player1: self.assertRating(34.990, 7.455, newRating[1]) else: self.assertRating(15.010, 7.455, newRating[1]) self.assertMatchQuality(0.012, self.calculator.calculateMatchQuality(self.gameInfo, teams))
def test_oneOnTwoDrawTest(self): player1 = Player(1) player2 = Player(2) player3 = Player(3) team1 = Team(player1, self.gameInfo.defaultRating) team2 = Team(player2, self.gameInfo.defaultRating) team2.addPlayer(player3, self.gameInfo.defaultRating) teams = [team1, team2] newRatings = self.calculator.calculateNewRatings(self.gameInfo, teams, [1, 1]) for newRating in newRatings: player = newRating[0] if player == player1: self.assertRating(31.660, 7.138, newRating[1]) elif player == player2: self.assertRating(18.340, 7.138, newRating[1]) else: self.assertRating(18.340, 7.138, newRating[1]) self.assertMatchQuality(0.135, self.calculator.calculateMatchQuality(self.gameInfo, teams))
def test_oneOnTwoSomewhatBalanced(self): player1 = Player(1) player2 = Player(2) player3 = Player(3) team1 = Team(player1, Rating(40, 6)) team2 = Team(player2, Rating(20, 7)) team2.addPlayer(player3, Rating(25, 8)) teams = [team1, team2] newRatings = self.calculator.calculateNewRatings(self.gameInfo, teams, [1, 2]) for newRating in newRatings: player = newRating[0] if player == player1: self.assertRating(42.744, 5.602, newRating[1]) elif player == player2: self.assertRating(16.266, 6.359, newRating[1]) else: self.assertRating(20.123, 7.028, newRating[1]) self.assertMatchQuality(0.478, self.calculator.calculateMatchQuality(self.gameInfo, teams))
def test_oneOnSevenSimpleTest(self): player1 = Player(1) player2 = Player(2) player3 = Player(3) player4 = Player(4) player5 = Player(5) player6 = Player(6) player7 = Player(7) player8 = Player(8) team1 = Team(player1, self.gameInfo.defaultRating) team2 = Team(player2, self.gameInfo.defaultRating) team2.addPlayer(player3, self.gameInfo.defaultRating) team2.addPlayer(player4, self.gameInfo.defaultRating) team2.addPlayer(player5, self.gameInfo.defaultRating) team2.addPlayer(player6, self.gameInfo.defaultRating) team2.addPlayer(player7, self.gameInfo.defaultRating) team2.addPlayer(player8, self.gameInfo.defaultRating) teams = [team1, team2] for newRating in self.calculator.calculateNewRatings(self.gameInfo, teams, [1, 2]): player = newRating[0] if player == player1: self.assertRating(40.582, 7.917, newRating[1]) else: self.assertRating(9.418, 7.917, newRating[1]) self.assertMatchQuality(0.000, self.calculator.calculateMatchQuality(self.gameInfo, teams))
def test_oneOnTwoSimple(self): player1 = Player(1) player2 = Player(2) player3 = Player(3) team1 = Team(player1, self.gameInfo.defaultRating) team2 = Team() team2.addPlayer(player2, self.gameInfo.defaultRating) team2.addPlayer(player3, self.gameInfo.defaultRating) teams = [team1, team2] newRatings = self.calculator.calculateNewRatings(self.gameInfo, teams, [1, 2]) for newRating in newRatings: player = newRating[0] if player == player1: self.assertRating(33.730, 7.317, newRating[1]) elif player == player2: self.assertRating(16.270, 7.317, newRating[1]) else: self.assertRating(16.270, 7.317, newRating[1]) self.assertMatchQuality(0.135, self.calculator.calculateMatchQuality(self.gameInfo, teams))
def test_twoOnTwoUnbalancedDrawTest(self): player1 = Player(1) player2 = Player(2) player3 = Player(3) player4 = Player(4) team1 = Team(player1, Rating(15, 8)) team1.addPlayer(player2, Rating(20, 6)) team2 = Team(player3, Rating(25, 4)) team2.addPlayer(player4, Rating(30, 3)) teams = [team1, team2] for newRating in self.calculator.calculateNewRatings(self.gameInfo, teams, [1, 1]): player = newRating[0] if player == player1: self.assertRating(21.570, 6.556, newRating[1]) elif player == player2: self.assertRating(23.696, 5.418, newRating[1]) elif player == player3: self.assertRating(23.357, 3.833, newRating[1]) else: self.assertRating(29.075, 2.931, newRating[1]) self.assertMatchQuality(0.214, self.calculator.calculateMatchQuality(self.gameInfo, teams))