Example #1
0
	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))
Example #2
0
	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))
Example #3
0
	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))
Example #4
0
	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))
Example #5
0
	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))
Example #6
0
	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))
Example #7
0
	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))
Example #8
0
	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))
Example #9
0
	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))