public void MatchupReturnsCooperationStrategyMatchupSuppliedToConstructor()
        {
            // Arrange
            var cooperationStrategyMatchup = CreateCooperationStrategyMatchup();
            var matchupResults = new List<CooperationStrategyMatchupResult>();

            // Act
            var matchupSimulationResult = new CooperationStrategyMatchupSimulationResult(cooperationStrategyMatchup, matchupResults);

            // Assert
            Assert.Equal(cooperationStrategyMatchup, matchupSimulationResult.Matchup);
        }
        public void NumberOfRoundsEqualsToNumberOfMatchupResults()
        {
            // Arrange
            var cooperationStrategyMatchup = CreateCooperationStrategyMatchup();
            var matchupResults = new List<CooperationStrategyMatchupResult>()
                                     {
                                         new CooperationStrategyMatchupResult(new CooperationStrategyResult(), new CooperationStrategyResult()),
                                         new CooperationStrategyMatchupResult(new CooperationStrategyResult(), new CooperationStrategyResult()),
                                         new CooperationStrategyMatchupResult(new CooperationStrategyResult(), new CooperationStrategyResult()),
                                     };

            // Act
            var matchupSimulationResult = new CooperationStrategyMatchupSimulationResult(cooperationStrategyMatchup, matchupResults);

            // Assert
            Assert.Equal(matchupResults.Count, matchupSimulationResult.NumberOfRounds);
        }
        public void PayoffForStrategyBReturnsCorrectPayoff()
        {
            // Arrange
            var cooperationStrategyMatchup = CreateCooperationStrategyMatchup();
            var matchupResults = new List<CooperationStrategyMatchupResult>
                                     {
                                         new CooperationStrategyMatchupResult(new CooperationStrategyResult(), new CooperationStrategyResult { Payoff = 3 }),
                                         new CooperationStrategyMatchupResult(new CooperationStrategyResult(), new CooperationStrategyResult { Payoff = 5 }),
                                         new CooperationStrategyMatchupResult(new CooperationStrategyResult(), new CooperationStrategyResult { Payoff = 7 }),
                                     };

            // Act
            var matchupSimulationResult = new CooperationStrategyMatchupSimulationResult(cooperationStrategyMatchup, matchupResults);

            // Assert
            Assert.Equal(15, matchupSimulationResult.PayoffForStrategyB);
        }