public StrategyA_Test() { var input = "1"; ConfigurationSetter = new Mock <IConfigurationSetter>(); ConfigurationSetter .Setup(x => x.Message.chooseAttackCard_3_) .Returns(""); ConfigurationSetter .Setup(x => x.Message.youCannotUseCard_5_) .Returns(""); ConsoleReadMock = new Mock <IConsoleReadWrap>(); ConsoleReadMock .Setup(x => x.ConsoleReadKey()); StrategyA = new StrategyA(ConfigurationSetter.Object, ConsoleReadMock.Object); CardToBeat = new Card(1, "", "", false); CardToBeatTrumpTrue = new Card(1, "", "", true); CardListOnHands = new List <Card> { new Card(1, "", "", true), new Card(2, "", "", false), new Card(8, "", "", true), new Card(9, "", "", true) }; CardListOnTable = new List <Card> { new Card(1, "", "", false), new Card(2, "", "", false), new Card(1, "", "", false), new Card(1, "", "", true) }; }
public void StrategyA_DefendShouldReturnCardIfCardToBeatTrumpTrue() { //Arrange //Act Card tempCard = StrategyA.Defend(CardListOnTable, CardListOnHands, CardToBeatTrumpTrue); //Assert Assert.AreEqual(CardListOnHands[2], tempCard); }
public void StrategyA_AttackShouldReturnCard() { //Arrange //Act Card tempCard = StrategyA.Attack(CardListOnHands, CardListOnTable); //Assert Assert.AreEqual(CardListOnHands[1], tempCard); }
public void StrategyAChooseMinRankCardReturnNull() { //Arrange //Act Card actualCard = StrategyA.ChooseMinRankCard(CardListOnHands, true); //Assert Assert.AreEqual(CardListOnHands[0], actualCard); }
public void StrategyA_PossibleAttackCardsShouldReturnListOfCards() { //Arrange //Act List <Card> actualCards = StrategyA.PossibleAttackCards(CardListOnHands, CardListOnTable); //Assert Assert.AreEqual(actualCards[0], CardListOnHands[0]); Assert.AreEqual(actualCards.Count, 2); }
public void StrategyA_PossibleDefendCardsShouldReturnListOfCards() { //Arrange //Act List <Card> actualCards = StrategyA.PossibleDefendCards(CardListOnHands, CardToBeat); List <Card> actualCards2 = StrategyA.PossibleDefendCards(CardListOnHands, CardToBeatTrumpTrue); //Assert Assert.AreEqual(actualCards[0], CardListOnHands[0]); Assert.AreEqual(actualCards.Count, 4); Assert.AreEqual(actualCards2.Count, 2); }
public void ShouldExecuteDifferentStrategies() { StrategyA a = new StrategyA(); StrategyB b = new StrategyB(); Context context = new Context(); context.Strategies.Add(a); context.Strategies.Add(b); context.Process(); a.Message.Should().BeEquivalentTo("Algorithm A is being called."); b.Message.Should().BeEquivalentTo("Algorithm B is being called."); }
// Use this for initialization void Start() { StrategyContext strategyContext = new StrategyContext(); StrategyA strategyA = new StrategyA("strategyA"); StrategyB strategyB = new StrategyB("strategyB"); strategyContext.SetStrategy(strategyA); strategyContext.RequestStrategy(); //需求变化时候 strategyContext.SetStrategy(strategyB); strategyContext.RequestStrategy(); }