Beispiel #1
0
        public void Constructor_InitializesCollections()
        {
            _sut = new PostFlopActionSequenceStatistic(ActionSequences.HeroB, Streets.Flop, false, indexesCount);

            _sut.Percentages.ShouldNotBeEmpty();
            _sut.MatchingPlayers.ShouldNotBeEmpty();
        }
Beispiel #2
0
 public void Constructor_InitializesAllMatchingPlayers()
 {
     _sut = new PostFlopActionSequenceStatistic(ActionSequences.HeroB, Streets.Flop, false, indexesCount);
     foreach (var matchingPlayer in _sut.MatchingPlayers)
     {
         matchingPlayer.ShouldNotBeNull();
     }
 }
Beispiel #3
0
        public void UpdateWith_EmptyList_AllMatchingPlayersAreEmpty()
        {
            _sut = new PreFlopActionSequenceStatistic(ActionSequences.HeroB);

            _sut.UpdateWith(_analyzablePokerPlayers);

            foreach (var matchingPlayer in _sut.MatchingPlayers)
            {
                matchingPlayer.ShouldBeEmpty();
            }
        }
Beispiel #4
0
        public void UpdateWith_EmptyList_AllMatchingPlayersAreEmpty()
        {
            _sut = new PostFlopActionSequenceStatistic(ActionSequences.HeroB, Streets.Flop, false, indexesCount);

            _sut.UpdateWith(_analyzablePokerPlayers);

            foreach (var matchingPlayer in _sut.MatchingPlayers)
            {
                matchingPlayer.ShouldBeEmpty();
            }
        }
Beispiel #5
0
        ActionSequenceStatisticsSetMock GetStatisticsSetStubWithTwoStatisticsReturningTotalCounts(
            int TotalCount1, int TotalCount2)
        {
            IActionSequenceStatistic statisticStub1 = _stub.Setup <IActionSequenceStatistic>()
                                                      .Get(s => s.TotalCounts).Returns(TotalCount1).Out;
            IActionSequenceStatistic statisticStub2 = _stub.Setup <IActionSequenceStatistic>()
                                                      .Get(s => s.TotalCounts).Returns(TotalCount2).Out;

            return(new ActionSequenceStatisticsSetMock(
                       new[] { statisticStub1, statisticStub2 },
                       _stub.Out <IPercentagesCalculator>()));
        }
Beispiel #6
0
        public void _Init()
        {
            _sut  = new StatisticsSetSummaryViewModel();
            _stub = new StubBuilder();
            _statisticsSetStub     = new Mock <IActionSequenceStatisticsSet>();
            _cumulativePercentages = new[] { 1, 2, 3, 4, 5 };
            _statisticsSetStub
            .SetupGet(ss => ss.CumulativePercentagesByRow)
            .Returns(_cumulativePercentages);

            _actionSequenceStatisticStub = _stub.Setup <IActionSequenceStatistic>()
                                           .Get(s => s._actionSequence).Returns(ActionSequences.HeroB).Out;
        }
Beispiel #7
0
        public void UpdateWith_OneMatchingPlayer_MatchingPlayersForOtherPositionDoNotContainPlayer()
        {
            const long               id             = 1;
            const Streets            street         = Streets.PreFlop;
            const ActionSequences    actionSequence = ActionSequences.HeroC;
            const StrategicPositions position       = StrategicPositions.CO;

            _sut = new PreFlopActionSequenceStatistic(actionSequence);

            var player = Samples.AnalyzablePokerPlayerWith(id, actionSequence, street, position);

            _analyzablePokerPlayers.Add(player);

            _sut.UpdateWith(_analyzablePokerPlayers);

            _sut.MatchingPlayers[(int)position + 1].ShouldNotContain(player);
        }
Beispiel #8
0
        public void UpdateWith_OneMatchingPlayer_MatchingPlayersForOtherBetSizeDoNotContainPlayer()
        {
            const long            id             = 1;
            const bool            inPosition     = false;
            const Streets         street         = Streets.Flop;
            const ActionSequences actionSequence = ActionSequences.OppBHeroC;
            const int             betSizeIndex   = 1;

            _sut = new PostFlopActionSequenceStatistic(actionSequence, street, inPosition, indexesCount);

            var player = Samples.AnalyzablePokerPlayerWith(id, actionSequence, street, inPosition, betSizeIndex);

            _analyzablePokerPlayers.Add(player);

            _sut.UpdateWith(_analyzablePokerPlayers);

            _sut.MatchingPlayers[betSizeIndex + 1].ShouldNotContain(player);
        }
Beispiel #9
0
        public void UpdateWith_TwoPlayersOneMatchingPlayer_MatchingPlayersForGivenPositionContainMatchingPlayer()
        {
            const long               id             = 1;
            const Streets            street         = Streets.PreFlop;
            const ActionSequences    actionSequence = ActionSequences.HeroC;
            const StrategicPositions position       = StrategicPositions.CO;

            _sut = new PreFlopActionSequenceStatistic(actionSequence);

            var matchingPlayer    = Samples.AnalyzablePokerPlayerWith(id, actionSequence, street, position);
            var notMatchingPlayer = Samples.AnalyzablePokerPlayerWith(id + 1, actionSequence + 1, street, position);

            _analyzablePokerPlayers.Add(matchingPlayer);
            _analyzablePokerPlayers.Add(notMatchingPlayer);

            _sut.UpdateWith(_analyzablePokerPlayers);

            _sut.MatchingPlayers[(int)position].ShouldContain(matchingPlayer);
        }
Beispiel #10
0
        public void UpdateWith_TwoPlayersOneMatchingPlayer_MatchingPlayersForGivenBetSizeContainMatchingPlayer()
        {
            const long            id             = 1;
            const bool            inPosition     = false;
            const Streets         street         = Streets.Flop;
            const ActionSequences actionSequence = ActionSequences.OppBHeroC;
            const int             betSizeIndex   = 1;

            _sut = new PostFlopActionSequenceStatistic(actionSequence, street, inPosition, indexesCount);

            var matchingPlayer    = Samples.AnalyzablePokerPlayerWith(id, actionSequence, street, inPosition, betSizeIndex);
            var notMatchingPlayer = Samples.AnalyzablePokerPlayerWith(id + 1, actionSequence + 1, street, inPosition, betSizeIndex);

            _analyzablePokerPlayers.Add(matchingPlayer);
            _analyzablePokerPlayers.Add(notMatchingPlayer);

            _sut.UpdateWith(_analyzablePokerPlayers);

            _sut.MatchingPlayers[betSizeIndex].ShouldContain(matchingPlayer);
        }
Beispiel #11
0
        protected override void CalculateIndividualPercentages()
        {
            IActionSequenceStatistic heroBStatistic = (from statistic in ActionSequenceStatistics
                                                       where statistic._actionSequence == ActionSequences.HeroB
                                                       select statistic)
                                                      .Single();

            Func <int> getNumberOfRows = () => 1;

            Func <int, int> getNumberOfColumnsAtRow = row => heroBStatistic.MatchingPlayers.Length;

            Func <int, int, int> getCountAtRowColumn =
                (row, col) => heroBStatistic.MatchingPlayers[col].Count;

            Action <int, int, int> setPercentageAtRowColumn =
                (row, col, percentage) => heroBStatistic.Percentages[col] = percentage;

            _percentagesCalculator.CalculatePercentages(
                getNumberOfRows,
                getNumberOfColumnsAtRow,
                getCountAtRowColumn,
                setPercentageAtRowColumn);
        }
Beispiel #12
0
        CalculateCumulativePercentages_TotalCount1_1_TotalCount2_1_TotalCount3_2_Sets_Perc1_25_Perc2_25_Perc3_50()
        {
            const int TotalCount1 = 1;
            const int TotalCount2 = 1;
            const int TotalCount3 = 2;

            IActionSequenceStatistic statisticStub1 = _stub.Setup <IActionSequenceStatistic>()
                                                      .Get(s => s.TotalCounts).Returns(TotalCount1).Out;
            IActionSequenceStatistic statisticStub2 = _stub.Setup <IActionSequenceStatistic>()
                                                      .Get(s => s.TotalCounts).Returns(TotalCount2).Out;
            IActionSequenceStatistic statisticStub3 = _stub.Setup <IActionSequenceStatistic>()
                                                      .Get(s => s.TotalCounts).Returns(TotalCount3).Out;

            var sut = new ActionSequenceStatisticsSetMock(
                new[] { statisticStub1, statisticStub2, statisticStub3 },
                _stub.Out <IPercentagesCalculator>());

            sut.CalculateCumulativePercentagesInvoke();

            sut.CumulativePercentagesByRow[0].ShouldBeEqualTo(25);
            sut.CumulativePercentagesByRow[1].ShouldBeEqualTo(25);
            sut.CumulativePercentagesByRow[2].ShouldBeEqualTo(50);
        }