public void IsPlayableTest() { GameState G = new GameState(DeckChoiceUI.COMBO_DECK, DeckChoiceUI.COMBO_DECK, true, 0); // Create a few cards var First = new SpellCard(G) { ManaCost = 0, IsTargeted = true, Owner = G.PlayerOne, }; var Second = new MinionCard(G) { Health = 1, ManaCost = 0, OnBoard = true, CanAttack = true, Owner = G.PlayerOne, }; G.PlayerOne.Board.Add(Second); G.PlayerOne.Hand.Add(First); // This should NOT be playable - invalid target Assert.IsFalse(First.IsPlayable(new Move(First.Id, 0))); // This should NOT be playable - invalid target Assert.IsFalse(Second.IsPlayable(new Move(Second.Id, 0))); // But this should be Assert.IsTrue(Second.IsPlayable(new Move(Second.Id, G.PlayerTwo.PlayerCard.Id))); // Finally, this should be Assert.IsTrue(First.IsPlayable(new Move(First.Id, Second.Id))); }