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); } }