Ejemplo n.º 1
0
        public void HaveA_Winner()
        {
            Player playerA = new Player(Guid.NewGuid())
            {
                Name = "A"
            };
            Player playerB = new Player(Guid.NewGuid())
            {
                Name = "B"
            };
            Game           g        = new Game(Guid.NewGuid(), "Mortal Kombat");
            DateTime       tomorrow = DateTime.Now.AddDays(1);
            Match <Player> theMatch = new Match <Player>(Guid.NewGuid(), g.Id, playerA, playerB, g, tomorrow);

            int roundsWon  = 3;
            int roundsLost = 2;
            MortalKombatPointCalculator     mkCalculator = new MortalKombatPointCalculator(roundsWon, playerB.TotalScoreIn(g.Id), playerA.TotalScoreIn(g.Id));
            MortalKombatWinnerSpecification mkSpecs      = new MortalKombatWinnerSpecification(roundsWon, roundsLost, mkCalculator);

            var result = theMatch.Result();

            playerA.Won(result, mkSpecs);
            playerB.Lost(result, mkSpecs);

            result.Winner.Should().Be(playerA);
            result.Loser.Should().Be(playerB);
        }
Ejemplo n.º 2
0
        public void MortalKombatLoseScoreTest_2()
        {
            int    roundsWon     = 2;
            int    roundsLost    = 3;
            double myScore       = 20;
            double opponentScore = 10;

            MortalKombatPointCalculator     mkCalculator = new MortalKombatPointCalculator(roundsWon, opponentScore, myScore);
            MortalKombatWinnerSpecification mkSpecs      = new MortalKombatWinnerSpecification(roundsWon, roundsLost, mkCalculator);

            double pointsTaken = mkSpecs.Calculator.CalculatePointsTaken();

            pointsTaken.Should().Be(2);
        }