Exemplo n.º 1
0
        public void StringMustBeEqual()
        {
            string value =
                "<span style=\"font-weight: bold; color: #66ff00; font-style: italic; font-size: 8pt;\">Test</span>";

            Assert.AreEqual(ParseDescription.Parse(value), "<size=8><i><color=#66ff00><b>Test</b></color></i></size>",
                            "Строка преобразована неправильно");
        }
Exemplo n.º 2
0
        public void SpecialSymbolsInCard2Test()
        {
            IArcoServer host           = new ArcoSQLLiteServer(@"arcomageDB.db");
            string      cardFromServer = host.GetRandomCard();
            List <Card> result         = JsonConvert.DeserializeObject <List <Card> >(cardFromServer);
            string      description    = "";

            foreach (var item in result.Where(x => x.id == 8))
            {
                description = ParseDescription.Parse(item.description);
            }

            Assert.AreEqual(description.IndexOf("&"), -1, "Не должно быть знаков амперсант");
        }
Exemplo n.º 3
0
        public void TestSpecialCardFromServer()
        {
            int         countDesc      = 0;
            IArcoServer host           = new ArcoSQLLiteServer(@"arcomageDB.db");
            string      cardFromServer = host.GetRandomCard();
            List <Card> result         = JsonConvert.DeserializeObject <List <Card> >(cardFromServer);

            foreach (var item in result)
            {
                string description = ParseDescription.Parse(item.description);

                if (item.description.Length > 0 && description.Length == 0)
                {
                    countDesc++;
                    Console.WriteLine("item " + item.name + " has no descript. Original text: " + Environment.NewLine + item.description + Environment.NewLine);
                }
            }

            Assert.AreEqual(countDesc, 0, "Не должно быть карт с отсутствующим описанием");
        }
Exemplo n.º 4
0
        /// <summary>
        /// Получает карту из стека карт
        /// </summary>
        /// <returns></returns>
        private List <Card> GetCard()
        {
            if (Status != CurrentAction.GetPlayerCard && Status != CurrentAction.GetAICard)
            {
                log.Error("Нельзя получить карты при текущем статусе");
                return(null);
            }


            List <Card> serverCards = new List <Card>();

            if (QCard.Count < MaxCard)
            {
                string cardFromServer = host.GetRandomCard();
                serverCards = JsonConvert.DeserializeObject <List <Card> >(cardFromServer);

                if (serverCards.Count == 0)
                {
                    return(null);
                }

                foreach (var item in serverCards)
                {
                    QCard.Enqueue(item);
                }
            }


            List <Card> returnVal       = new List <Card>();
            int         playerCountCard = 0;

            //если хоти смухлевать с картами для игрока
            if (specialHand.Count > 0)
            {
                foreach (var item in specialHand)
                {
                    if (playerCountCard == MaxCard)
                    {
                        break;
                    }

                    var newCard = serverCards.FirstOrDefault(x => x.id == item);
                    if (newCard != null)
                    {
                        newCard.description = ParseDescription.Parse(newCard.description);
                        returnVal.Add(newCard);
                        playerCountCard++;
                    }
                }

                players[currentPlayer].Cards.AddRange(returnVal);
                specialHand = new List <int>();
                return(returnVal);
            }



            if (players[currentPlayer].Cards != null)
            {
                playerCountCard = players[currentPlayer].Cards.Count;
            }

            while (playerCountCard < MaxCard)
            {
                if (QCard.Count == 0)
                {
                    break;
                }

                var newCard = QCard.Dequeue();
                newCard.description = ParseDescription.Parse(newCard.description);
                returnVal.Add(newCard);
                playerCountCard++;
            }

            players[currentPlayer].Cards.AddRange(returnVal);
            return(returnVal);
        }