示例#1
0
        public void GetProbability_EmptyCardsToSearch_ReturnsZero()
        {
            FakeGameProvider gameProvider = GameProviderFabric.Create(Color.Red);

            Guess guess = new Guess(gameProvider,
                                    CreateCardInHand(gameProvider, new Card(Color.Red, Rank.One)));

            List <Card> excludedCards = new List <Card>();
            List <Card> cardsToSearch = new List <Card>();

            Probability result = guess.GetProbability(cardsToSearch, excludedCards);

            Assert.AreEqual(0, result.Value);
        }
示例#2
0
        public void GetProbability_ExcludeAllRedTwoCards_ReturnsZeroForRedTwoCard()
        {
            FakeGameProvider gameProvider = GameProviderFabric.Create(Color.Red);

            Guess guess = new Guess(gameProvider,
                                    CreateCardInHand(gameProvider, new Card(Color.Red, Rank.Three)));

            List <Card> excludedCards = new List <Card>
            {
                new Card(Color.Red, Rank.Two),
                new Card(Color.Red, Rank.Two),
            };

            List <Card> cardsToSearch = new List <Card> {
                new Card(Color.Red, Rank.Two)
            };

            Probability result = guess.GetProbability(cardsToSearch, excludedCards);

            Assert.AreEqual(0, result.Value);
        }
示例#3
0
        public void GetProbability_ExcludeAllCardsExceptYellowTwo_ReturnsOneForYellowTwo()
        {
            IGameProvider gameProvider = GameProviderFabric.Create(new List <Color> {
                Color.Red, Color.Yellow
            });

            Guess guess = new Guess(gameProvider,
                                    CreateCardInHand(gameProvider, new Card(Color.Yellow, Rank.Two)));

            List <Card> cardsToExclude = new List <Card>
            {
                new Card(Color.Red, Rank.One),
                new Card(Color.Red, Rank.One),
                new Card(Color.Red, Rank.One),
                new Card(Color.Red, Rank.Two),
                new Card(Color.Red, Rank.Two),
                new Card(Color.Red, Rank.Three),
                new Card(Color.Red, Rank.Three),
                new Card(Color.Red, Rank.Four),
                new Card(Color.Red, Rank.Four),
                new Card(Color.Red, Rank.Five),
                new Card(Color.Yellow, Rank.One),
                new Card(Color.Yellow, Rank.One),
                new Card(Color.Yellow, Rank.One),
                // miss yellow two.
                new Card(Color.Yellow, Rank.Three),
                new Card(Color.Yellow, Rank.Three),
                new Card(Color.Yellow, Rank.Four),
                new Card(Color.Yellow, Rank.Four),
                new Card(Color.Yellow, Rank.Five),
            };

            List <Card> cardsToSearch = new List <Card> {
                new Card(Color.Yellow, Rank.Two)
            };

            Probability result = guess.GetProbability(cardsToSearch, cardsToExclude);

            Assert.AreEqual(1.0, result.Value);
        }