public void StandUpToSpactateTest()
        {
            //Arrange
            Player player;
            var    room      = _user.CreateNewRoom(_level, _config, out player);
            double buyIn     = room.Preferences.BuyInCost;
            int    seatIndex = 0;

            _user.JoinNextHand(player, seatIndex, buyIn);
            player.Fold();
            StandUpToSpactateRequest request = new StandUpToSpactateRequest()
            {
                Player      = player.GetHashCode(),
                UserName    = _user.UserName,
                SecurityKey = _securityKey,
            };

            //Act
            var act = _ctrl.StandUpToSpactate(request);
            StandUpToSpactateResult actContent;
            var hasContent = act.TryGetContentValue(out actContent);

            //Assert
            TestContext.WriteLine("error message: '{0}'", (actContent != null && actContent.ErrorMessage != "") ? actContent.ErrorMessage : "null");
            Assert.AreEqual(HttpStatusCode.OK, act.StatusCode, "status code");
            Assert.IsTrue(hasContent, "has contact");
            Assert.AreEqual("", actContent.ErrorMessage, "error message");
            Assert.AreEqual(true, actContent.Success, "success");
            Assert.AreEqual(buyIn, actContent.RemainingMoney, "remaining money");
            Assert.AreEqual(_user.UserBank.Money, actContent.UserBankMoney, "user bank money");
            Assert.AreEqual(_user.UserStatistics, actContent.UserStatistics, "user statistics object");
        }
Ejemplo n.º 2
0
        public HttpResponseMessage StandUpToSpactate(StandUpToSpactateRequest request)
        {
            var result = new StandUpToSpactateResult();

            try
            {
                result = service.StandUpToSpactate(request);
            }
            catch (Exception e)
            {
                result.ErrorMessage = e.Message;
                result.Success      = false;
                return(Request.CreateResponse(HttpStatusCode.InternalServerError, result));
            }

            return(Request.CreateResponse(HttpStatusCode.OK, result));
        }
Ejemplo n.º 3
0
        public StandUpToSpactateResult StandUpToSpactate(StandUpToSpactateRequest request)
        {
            var result = new StandUpToSpactateResult();

            try
            {
                var user = _cache.RefreshAndGet(
                    Users,
                    request.UserName,
                    new UserNotFoundException(string.Format("cannot find user name: {0}, please login again.", request.UserName))
                    );
                UserManager.SecurityCheck(request.SecurityKey, user);

                Player player = null;
                while (!Players.TryGetValue(request.Player, out player))
                {
                    if (_cache.Refresh())
                    {
                        continue;
                    }

                    throw new PlayerNotFoundException(string.Format("cannot find player id: {0}, please re-enter the room", request.Player));
                }

                result.RemainingMoney = user.StandUpToSpactate(player);
                result.UserBankMoney  = user.UserBank.Money;

                //TODO - idan - check JSON of user statistics
                result.UserStatistics = user.UserStatistics;
                result.Success        = true;
            }
            catch (PokerException e)
            {
                result.Success      = false;
                result.ErrorMessage = e.Message;
                Logger.Error(e, this);
            }

            return(result);
        }