예제 #1
0
        public void TestInfer_SolveFreeCardDesk()
        {
            Desk tempDesk1 = new Desk();

            for (int i = 0; i < tempDesk1.AllCardOnDesk.FreeCard.Length; i++)
            {
                tempDesk1.AddNewCardInFreeCard(new Card(Card.Type.Diamonds, Card.Number.King - i));
            }
            tempDesk1.AllCardOnDesk.SortedCard[(int)Card.Type.Diamonds - 1] = new Card(Card.Type.Diamonds, Card.Number.King - tempDesk1.AllCardOnDesk.FreeCard.Length);
            tempDesk1.AllCardOnDesk.SortedCard[(int)Card.Type.Club - 1]     = new Card(Card.Type.Club, Card.Number.King);
            tempDesk1.AllCardOnDesk.SortedCard[(int)Card.Type.Heart - 1]    = new Card(Card.Type.Heart, Card.Number.King);
            tempDesk1.AllCardOnDesk.SortedCard[(int)Card.Type.Spade - 1]    = new Card(Card.Type.Spade, Card.Number.King);

            InferManager.GetInstance().ClearInferData();
            InferManager.GetInstance().SetStartDesk(tempDesk1);
            var result = InferManager.GetInstance().StartInfer();

            if (!result.IsSolved)
            {
                throw new Exception(result.Message);
            }
        }