public void CreateOrUpdateHandRange_CreatePathCallsAddHandRangeWithCorrectEntity()
        {
            var hands        = new[] { "AAo", "AJs" };
            var handRangeDto = new HandRangeDto
            {
                UserId   = 2,
                Hands    = hands,
                Position = Position.BigBlind
            };

            var handRangeEntity = new HandRange
            {
                UserId     = 2,
                HandsArray = hands,
                Position   = Position.BigBlind
            };

            var handRangeAtRunTime = new HandRange();

            _validationServiceMock.Setup(vs => vs.VerifyHandRangeContainsOnlyValidHands(It.IsAny <string[]>())).Verifiable();
            _repoMock.Setup(repo => repo.GetHandRange(It.IsAny <int>(), It.IsAny <Position>())).Returns((HandRange)null);
            _repoMock.Setup(repo => repo.AddHandRange(It.IsAny <HandRange>()))
            .Callback <HandRange>(hr => handRangeAtRunTime = hr)
            .Verifiable();
            _repoMock.Setup(repo => repo.UpdateHandRange(It.IsAny <HandRange>())).Verifiable();

            var service = new HandRangeService(_repoMock.Object, _validationServiceMock.Object);

            service.CreateOrUpdateHandRange(handRangeDto);

            handRangeAtRunTime.ShouldBeEquivalentTo(handRangeEntity);
            _validationServiceMock.Verify(m => m.VerifyHandRangeContainsOnlyValidHands(It.IsAny <string[]>()), Times.Once);
            _repoMock.Verify(m => m.UpdateHandRange(It.IsAny <HandRange>()), Times.Never);
            _repoMock.Verify(m => m.AddHandRange(It.IsAny <HandRange>()), Times.Once);
        }
Example #2
0
        private HandRangeDto MapEntityToDto(HandRange handRange)
        {
            var handRangeDto = new HandRangeDto
            {
                Hands    = handRange.HandsArray,
                Position = handRange.Position
            };

            return(handRangeDto);
        }
Example #3
0
        private HandRange MapDtoToEntity(HandRangeDto handRangeDto)
        {
            var handRange = new HandRange
            {
                HandsArray = handRangeDto.Hands,
                Position   = handRangeDto.Position,
                UserId     = handRangeDto.UserId
            };

            return(handRange);
        }
        public void CalculateResult(IList <ulong> hands, ulong dead)
        {
            if (CancellationPending)
            {
                return;
            }

            if (dead == 0)
            {
                dead = Dead;
            }
            // Count of total hands examined.
            int       depth = hands.Count;
            HandRange range = Ranges[depth];

            foreach (ulong hand in range)
            {
                if ((hand & (dead | Board)) == 0)
                {
                    dead = hand | dead;
                    hands.Add(hand);
                    if (depth < Ranges.Count)
                    {
                        CalculateResult(hands, dead);
                    }
                    else
                    {
                        foreach (ulong boardMask in Hand.Hands(Board, dead, 5))
                        {
                            EvaluateHand(hands, boardMask, dead);
                            ReportProgress(0);
                            if (CancellationPending)
                            {
                                break;
                            }
                        }
                    }
                }

                if (CancellationPending)
                {
                    break;
                }
            }
        }
Example #5
0
 private void AddOrUpdateHandRange(HandRange handRange)
 {
     try
     {
         var existingRecord = _handRangeRepository.GetHandRange(handRange.UserId, handRange.Position);
         if (existingRecord != null)
         {
             existingRecord.HandsArray = handRange.HandsArray;
             _handRangeRepository.UpdateHandRange(existingRecord);
         }
         else
         {
             _handRangeRepository.AddHandRange(handRange);
         }
     }
     catch (Exception ex)
     {
         //Log
         throw;
     }
 }
        public void SetupHandEvaluator()
        {
            for (int i = 0; i < MAX_SEAT_NUM; ++i)
            {
                HandEvalLayout.Controls.Add(new Label {
                    Text = string.Format("Player {0}", i)
                });
                RangeTextBoxes[i]          = new TextBox();
                RangeTextBoxes[i].ReadOnly = true;
                HandEvalLayout.Controls.Add(RangeTextBoxes[i]);

                RandomButtons[i] = new Button {
                    Text = "Random"
                };
                RandomButtons[i].Click += (s, e) => SetupRange(i, "Random", HandRange.AllHands());
                HandEvalLayout.Controls.Add(RandomButtons[i]);

                TwoSigmaRangeButtons[i] = new Button {
                    Text = "95%"
                };
                //TwoSigmaRangeButtons[i].Click += (s, e) => SetupRange(i, ;
            }
        }
        public void GetHandRange_Successful()
        {
            var hands    = new[] { "AKo", "AKs" };
            var expected = new HandRangeDto
            {
                Hands    = hands,
                Position = Position.BigBlind
            };

            var handRangeEntityMock = new HandRange
            {
                UserId     = 1,
                HandsArray = hands,
                Position   = Position.BigBlind
            };

            _repoMock.Setup(repo => repo.GetHandRange(It.IsAny <int>(), It.IsAny <Position>())).Returns(handRangeEntityMock);

            var service = new HandRangeService(_repoMock.Object, _validationServiceMock.Object);

            var result = service.GetHandRange(1, Position.BigBlind);

            result.ShouldBeEquivalentTo(expected);
        }
Example #8
0
 public void AssignRange(string handRangeGroupKey, string handRangeKey, string rangeString)
 {
     handRangeGroups[handRangeGroupKey][handRangeKey] = HandRange.Parse(rangeString);
 }
 private void SetupRange(int index, string text, HandRange tag)
 {
     RangeTextBoxes[index].Text = text;
     RangeTextBoxes[index].Tag  = tag;
 }
Example #10
0
 public void UpdateHandRange(HandRange handRange)
 {
     _context.Update(handRange);
     _context.SaveChanges();
 }
Example #11
0
 public void AddHandRange(HandRange handRange)
 {
     _context.Add(handRange);
     _context.SaveChanges();
 }