public void ChangeHandTestMethod1() { GamePlayer gamePlayer = new GamePlayer(null, null, new GameDeck(1, new System.Collections.Generic.List <int> { 1, 2, 3, 4, 5, 6 })); bool isChangedHand = false; gamePlayer.OnHasChangedHandChanged += (eventGamePlayer) => { isChangedHand = true; }; Assert.IsFalse(gamePlayer.HasChangedHand); Assert.IsFalse(isChangedHand); gamePlayer.AddHandCard(7); gamePlayer.AddHandCard(8); gamePlayer.AddHandCard(9); gamePlayer.ChangeHand(new int[] { 7, 8 }); Assert.AreEqual(3, gamePlayer.HandCardIDs.Count()); Assert.AreEqual(1, gamePlayer.HandCardIDs.Count(x => x == 9)); Assert.AreEqual(0, gamePlayer.HandCardIDs.Count(x => x == 7)); Assert.AreEqual(0, gamePlayer.HandCardIDs.Count(x => x == 8)); Assert.AreEqual(1, gamePlayer.Deck.CardRecordIDs.Count(x => x == 7)); Assert.AreEqual(1, gamePlayer.Deck.CardRecordIDs.Count(x => x == 8)); Assert.IsTrue(gamePlayer.HasChangedHand); Assert.IsTrue(isChangedHand); }
public void EventTestMethod1() { GamePlayer gamePlayer = new GamePlayer(null, null, null); int eventCounter = 0; gamePlayer.OnHandCardsChanged += (eventGamePlayer, cardRecordID, changeCode) => { eventCounter++; }; gamePlayer.AddHandCard(1); Assert.AreEqual(1, eventCounter); gamePlayer.OnHasChangedHandChanged += (eventGamePlayer) => { eventCounter++; }; gamePlayer.HasChangedHand = true; Assert.AreEqual(2, eventCounter); gamePlayer.OnManaCrystalChanged += (eventGamePlayer) => { eventCounter++; }; gamePlayer.ManaCrystal = 5; Assert.AreEqual(3, eventCounter); gamePlayer.OnRemainedManaCrystalChanged += (eventGamePlayer) => { eventCounter++; }; gamePlayer.RemainedManaCrystal = 2; Assert.AreEqual(4, eventCounter); }
public static void GameWithGamePlayerHandState(Game game, int gamePlayerID, List <int> handCardRecordIDs) { GamePlayer player = game.SelfGamePlayer(gamePlayerID); foreach (int cardRecordID in handCardRecordIDs) { player.AddHandCard(cardRecordID); } }
public void AddHandCardTestMethod1() { GamePlayer gamePlayer = new GamePlayer(null, null, null); Assert.IsTrue(gamePlayer.AddHandCard(1)); Assert.IsFalse(gamePlayer.AddHandCard(1)); for (int i = 2; i <= 10; i++) { Assert.IsTrue(gamePlayer.AddHandCard(i)); } Assert.IsFalse(gamePlayer.AddHandCard(11)); gamePlayer.BindGame(GameUnitTest.InitialGameStatus()); ServantCardRecord card = new ServantCardRecord(12, 1); gamePlayer.Game.GameCardManager.LoadCard(card); bool destroyFlag = false; card.OnDestroyed += (record) => { destroyFlag = true; }; Assert.IsFalse(gamePlayer.AddHandCard(12)); Assert.IsTrue(destroyFlag); }
public void RemoveHandCardTestMethod1() { GamePlayer gamePlayer = new GamePlayer(null, null, null); int eventCounter = 0; gamePlayer.OnHandCardsChanged += (eventGamePlayer, cardRecordID, changeCode) => { if (changeCode == Protocol.DataChangeCode.Remove) { eventCounter++; } }; Assert.IsFalse(gamePlayer.RemoveHandCard(1)); Assert.AreEqual(0, eventCounter); Assert.IsTrue(gamePlayer.AddHandCard(1)); Assert.IsTrue(gamePlayer.RemoveHandCard(1)); Assert.AreEqual(1, eventCounter); }