public void Episode_StartGameWithDeckTestMethod1() { //開始一場空的遊戲 雙方牌組都依序放置1~6號卡1張 輪到1號玩家 玩家1換手牌 玩家2換手牌 //雙方換完手牌 遊戲開始 1號玩家抽一張牌 法力水晶上限+1 並補滿法力水晶 #region initial Game game = GameSystemTestEnvironment.EmptyGame(1, 0); var servantCards1 = GameSystemTestEnvironment.GameWithServantCardRecordState(game, new List <int> { 1, 2, 3, 4, 5, 6 }); GameSystemTestEnvironment.GameWithGamePlayerDeckState(game, 1, servantCards1.Select(x => x.CardRecordID).ToList()); var servantCards2 = GameSystemTestEnvironment.GameWithServantCardRecordState(game, new List <int> { 1, 2, 3, 4, 5, 6 }); GameSystemTestEnvironment.GameWithGamePlayerDeckState(game, 2, servantCards2.Select(x => x.CardRecordID).ToList()); #endregion #region operations game.GamePlayer1.ChangeHand(new int[0]); game.GamePlayer2.ChangeHand(new int[0]); #endregion #region game Assert.AreEqual(1, game.CurrentGamePlayerID); Assert.AreEqual(0, game.Field1.ServantCount); Assert.AreEqual(0, game.Field2.ServantCount); Assert.AreEqual(1, game.RoundCount); #endregion #region player1 Assert.AreEqual(5, game.GamePlayer1.Deck.CardRecordIDs.Count()); Assert.AreEqual(1, game.GamePlayer1.GamePlayerID); Assert.AreEqual(true, game.GamePlayer1.HasChangedHand); Assert.AreEqual(1, game.GamePlayer1.HandCardIDs.Count()); Assert.AreEqual(1, game.GamePlayer1.ManaCrystal); Assert.AreEqual(1, game.GamePlayer1.RemainedManaCrystal); Assert.AreEqual(0, game.GamePlayer1.Hero.Attack); Assert.AreEqual(0, game.GamePlayer1.Hero.AttackCountInThisTurn); Assert.AreEqual(1, game.GamePlayer1.Hero.HeroID); Assert.AreEqual(30, game.GamePlayer1.Hero.HP); Assert.AreEqual(30, game.GamePlayer1.Hero.RemainedHP); Assert.AreEqual(0, game.GamePlayer1.Hero.WeaponCardRecordID); #endregion #region player2 Assert.AreEqual(6, game.GamePlayer2.Deck.CardRecordIDs.Count()); Assert.AreEqual(2, game.GamePlayer2.GamePlayerID); Assert.AreEqual(true, game.GamePlayer2.HasChangedHand); Assert.AreEqual(0, game.GamePlayer2.HandCardIDs.Count()); Assert.AreEqual(0, game.GamePlayer2.ManaCrystal); Assert.AreEqual(0, game.GamePlayer2.RemainedManaCrystal); Assert.AreEqual(0, game.GamePlayer2.Hero.Attack); Assert.AreEqual(0, game.GamePlayer2.Hero.AttackCountInThisTurn); Assert.AreEqual(2, game.GamePlayer2.Hero.HeroID); Assert.AreEqual(30, game.GamePlayer2.Hero.HP); Assert.AreEqual(30, game.GamePlayer2.Hero.RemainedHP); Assert.AreEqual(0, game.GamePlayer2.Hero.WeaponCardRecordID); #endregion }
public void Episode_CastSpell_抽牌2_TestMethod1() { //開始一場空的遊戲 設定玩家1手牌"抽牌2"*1 牌組有CardID1~6的卡各1張 法力水晶10/10 //輪到1號玩家 玩家1出"抽牌2" //確認手牌與法力水晶變化 #region initial Game game = GameSystemTestEnvironment.EmptyGame(1, 1); var spellCards = GameSystemTestEnvironment.GameWithSpellCardRecordState(game, new List <int> { 19 }); var servantCards = GameSystemTestEnvironment.GameWithServantCardRecordState(game, new List <int> { 1, 2, 3, 4, 5, 6 }); GameSystemTestEnvironment.GameWithGamePlayerDeckState(game, 1, servantCards.Select(x => x.CardRecordID).ToList()); GameSystemTestEnvironment.GameWithGamePlayerHandState(game, 1, new List <int> { spellCards[0].CardRecordID }); GameSystemTestEnvironment.GameWithGamePlayerManaCrystalState(game, 1, 10, 10); #endregion #region game Assert.AreEqual(1, game.CurrentGamePlayerID); #endregion #region player1 Assert.AreEqual(6, game.GamePlayer1.Deck.CardRecordIDs.Count()); Assert.AreEqual(1, game.GamePlayer1.HandCardIDs.Count()); Assert.AreEqual(10, game.GamePlayer1.ManaCrystal); Assert.AreEqual(10, game.GamePlayer1.RemainedManaCrystal); #endregion #region operations 玩家1出"抽牌1" Assert.IsTrue(game.NonTargeCasttSpell(1, spellCards[0].CardRecordID)); #endregion #region game Assert.AreEqual(1, game.CurrentGamePlayerID); #endregion #region player1 Assert.AreEqual(3, game.GamePlayer1.Deck.CardRecordIDs.Count()); Assert.AreEqual(3, game.GamePlayer1.HandCardIDs.Count()); Assert.AreEqual(10, game.GamePlayer1.ManaCrystal); Assert.AreEqual(5, game.GamePlayer1.RemainedManaCrystal); int[] handCardIDs = game.GamePlayer1.HandCardIDs.ToArray(); Assert.AreEqual(handCardIDs[0], servantCards[0].CardRecordID); Assert.AreEqual(handCardIDs[1], servantCards[1].CardRecordID); Assert.AreEqual(handCardIDs[2], servantCards[2].CardRecordID); #endregion }