示例#1
0
        public void UpdateWith_OneMatchingPlayer_MatchingPlayersForGivenBetSizeContainPlayer()
        {
            const long    id         = 1;
            const bool    inPosition = false;
            const Streets street     = Streets.Flop;

            var sut = new PostFlopHeroXStatistic(street, inPosition);

            var player = Samples.AnalyzablePokerPlayerWith(id, ActionSequences.HeroX, street, inPosition);

            _analyzablePokerPlayers.Add(player);

            sut.UpdateWith(_analyzablePokerPlayers);

            sut.MatchingPlayers[0].ShouldContain(player);
        }
示例#2
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);
        }
示例#3
0
        public void UpdateWith_TwoPlayersOneMatchingPlayer_MatchingPlayersDoNotContainNotMatchingPlayer()
        {
            const long    id         = 1;
            const bool    inPosition = false;
            const Streets street     = Streets.Flop;

            var sut = new PostFlopHeroXStatistic(street, inPosition);

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

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

            sut.UpdateWith(_analyzablePokerPlayers);

            sut.MatchingPlayers[0].ShouldNotContain(notMatchingPlayer);
        }
示例#4
0
        public void UpdateWith_PlayerWithHeroXOppBHeroReacts_PlayerIsIncludedInMatchingPlayers(
            [Values(ActionSequences.HeroXOppBHeroF, ActionSequences.HeroXOppBHeroC, ActionSequences.HeroXOppBHeroR)]
            ActionSequences actionSequence)
        {
            const long    id         = 1;
            const bool    inPosition = false;
            const Streets street     = Streets.Flop;

            var sut = new PostFlopHeroXStatistic(street, inPosition);

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

            _analyzablePokerPlayers.Add(player);

            sut.UpdateWith(_analyzablePokerPlayers);

            sut.MatchingPlayers[0].ShouldContain(player);
        }
示例#5
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);
        }
示例#6
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);
        }
示例#7
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);
        }