public void ReturnsCorrectActualScoreForWinner()
        {
            //   EloRatingCalculator ratingCalc = new EloRatingCalculator(30);
            var results = new EloFixture <string>("Player1", "Player2", 1000, 1200, 30).ToResult(ContestResult.Player1Won);

            Assert.AreEqual(1, ((EloResultCompetitor <string>)results.Player1).ActualScore);
        }
        public void ReturnsCorrectOpeningRatingForLoser()
        {
            //   EloRatingCalculator ratingCalc = new EloRatingCalculator(30);
            var results = new EloFixture <string>("Player1", "Player2", 1000, 1200, 30).ToResult(ContestResult.Player2Won);

            Assert.AreEqual(1000, ((EloResultCompetitor <string>)results.Player1).StartRating);
        }
        public void ReturnsCorrectOpponentTransformedRatingForWinner()
        {
            //   EloRatingCalculator ratingCalc = new EloRatingCalculator(30);
            var results = new EloFixture <string>("Player1", "Player2", 1000, 1200, 30).ToResult(ContestResult.Player1Won);

            Assert.AreEqual(1000, ((EloResultCompetitor <string>)results.Player1).OpponentTransformedRating);
        }
        public void ReturnsCorrectExpectedScoreForWinner()
        {
            //   EloRatingCalculator ratingCalc = new EloRatingCalculator(30);
            var results = new EloFixture <string>("Player1", "Player2", 1000, 1200, 30).ToResult(ContestResult.Player1Won);

            Assert.AreEqual(0.24, Math.Round(((EloResultCompetitor <string>)results.Player1).ExpectedScore, 2));
        }
        public void ReturnsCorrectTransformedRatingForWinner()
        {
            //   EloRatingCalculator ratingCalc = new EloRatingCalculator(30);
            var results = new EloFixture <string>("Player1", "Player2", 1000, 1200, 30).ToResult(ContestResult.Player1Won);

            Assert.AreEqual(316.22776601683793319988935444327, ((EloResultCompetitor <string>)results.Player1).TransformedRating);
        }
		public void ReturnsCorrectTransformedRatingForLoser()
		{
			//   EloRatingCalculator ratingCalc = new EloRatingCalculator(32);
			var results = new EloFixture<string>("Player1", "Player2", 2400, 2000).ToResult(ContestResult.Player2Won);

			Assert.AreEqual(1000000, results.Player1.TransformedRating);
		}
		public void ReturnsCorrectClosingRatingForWinner()
		{
			//   EloRatingCalculator ratingCalc = new EloRatingCalculator(32);
			var results = new EloFixture<string>("Player1", "Player2", 2400, 2000).ToResult(ContestResult.Player1Won);

			Assert.AreEqual(2403, ((EloResultCompetitor<string>)results.Player1).EndRating);
		}
		public void ReturnsCorrectKFactorForWinner()
		{
			//   EloRatingCalculator ratingCalc = new EloRatingCalculator(32);
			var results = new EloFixture<string>("Player1", "Player2", 2400, 2000).ToResult(ContestResult.Player1Won);

			Assert.AreEqual(32, results.Player1.KFactor);
		}
		public void ReturnsCorrectExpectedScoreForWinner()
		{
			//   EloRatingCalculator ratingCalc = new EloRatingCalculator(32);
			var results = new EloFixture<string>("Player1", "Player2", 2400, 2000).ToResult(ContestResult.Player1Won);

			Assert.AreEqual(0.909, Math.Round(results.Player1.ExpectedScore, 3));
		}