public void LeasterStateAnalyzer_CanILoose_Yes() { var cards = new List <SheepCard>() { SheepCard.QUEEN_HEARTS, SheepCard.N7_DIAMONDS, SheepCard.KING_HEARTS }; var playerMock = new Mock <IPlayer>(); playerMock.Setup(m => m.Cards).Returns(cards); var cardsPlayed = new Dictionary <IPlayer, SheepCard>() { { new Mock <IPlayer>().Object, SheepCard.KING_DIAMONDS }, { new Mock <IPlayer>().Object, SheepCard.N10_HEARTS }, { new Mock <IPlayer>().Object, SheepCard.JACK_CLUBS } }; var trickMock = new Mock <ITrick>(); trickMock.Setup(m => m.CardsByPlayer).Returns(cardsPlayed); trickMock.Setup(m => m.IsLegalAddition(SheepCard.QUEEN_HEARTS, playerMock.Object)).Returns(true); trickMock.Setup(m => m.IsLegalAddition(SheepCard.N7_DIAMONDS, playerMock.Object)).Returns(true); var analyzer = new LeasterStateAnalyzer(); var actual = analyzer.CanILoose(playerMock.Object, trickMock.Object); Assert.AreEqual(true, actual); }
public void LeasterStateAnalyzer_EarlyInTrick_3Player_Yes() { var cardsPlayed = new Dictionary <IPlayer, SheepCard>() { { new Mock <IPlayer>().Object, SheepCard.N7_HEARTS }, }; var trickMock = new Mock <ITrick>(); trickMock.Setup(m => m.CardsByPlayer).Returns(cardsPlayed); trickMock.Setup(m => m.IHand.IGame.PlayerCount).Returns(3); var analyzer = new LeasterStateAnalyzer(); var actual = analyzer.EarlyInTrick(trickMock.Object); Assert.AreEqual(true, actual); }