public void GameStateAnalyzer_MySideWinning_Offense_ThisIsPartner_No()
        {
            var partnerCard = SheepCard.JACK_HEARTS;
            var pickerMock  = new Mock <IPlayer>();
            var playerMock  = new Mock <IPlayer>();

            playerMock.Setup(m => m.Cards).Returns(new List <SheepCard>()
            {
                partnerCard
            });
            var cardsPlayed = new Dictionary <IPlayer, SheepCard>()
            {
                { new Mock <IPlayer>().Object, SheepCard.N7_HEARTS },
                { new Mock <IPlayer>().Object, SheepCard.QUEEN_HEARTS },
                { pickerMock.Object, SheepCard.JACK_CLUBS }
            };
            var trickMock = new Mock <ITrick>();

            trickMock.Setup(m => m.CardsByPlayer).Returns(cardsPlayed);
            trickMock.Setup(m => m.IHand.Picker).Returns(pickerMock.Object);
            trickMock.Setup(m => m.IHand.PartnerCardEnum).Returns(partnerCard);
            trickMock.Setup(m => m.IHand.Partner).Returns((Player)null);
            trickMock.Setup(m => m.IHand.PresumedParnter).Returns((Player)null);
            var analyzer = new GameStateAnalyzer();
            var actual   = analyzer.MySideWinning(playerMock.Object, trickMock.Object);

            Assert.AreEqual(false, actual);
        }
        public void GameStateAnalyzer_MySideWinning_Offense_PartnerProbablyKnown_Yes()
        {
            var partnerMock = new Mock <IPlayer>();
            var playerMock  = new Mock <IPlayer>();

            playerMock.Setup(m => m.Cards).Returns(new List <SheepCard>());
            var cardsPlayed = new Dictionary <IPlayer, SheepCard>()
            {
                { new Mock <IPlayer>().Object, SheepCard.N7_HEARTS },
                { new Mock <IPlayer>().Object, SheepCard.KING_HEARTS },
                { partnerMock.Object, SheepCard.JACK_CLUBS }
            };
            var trickMock = new Mock <ITrick>();

            trickMock.Setup(m => m.CardsByPlayer).Returns(cardsPlayed);
            trickMock.Setup(m => m.IHand.Picker).Returns(playerMock.Object);
            trickMock.Setup(m => m.IHand.PartnerCardEnum).Returns(SheepCard.JACK_DIAMONDS);
            trickMock.Setup(m => m.IHand.Partner).Returns((Player)null);
            trickMock.Setup(m => m.IHand.PresumedParnter).Returns(partnerMock.Object);
            var analyzer = new GameStateAnalyzer();
            var actual   = analyzer.MySideWinning(playerMock.Object, trickMock.Object);

            Assert.AreEqual(true, actual);
        }