public void TestAddElement_Error() { var card1 = new RPSCardsEngine.Cards.Card(CardType.Fire, Zone.Board, 0); Assert.ThrowsException <InvalidOperationException>(() => card1.AddElement(new RPSCardsEngine.Cards.Card(CardType.Water))); var card2 = new RPSCardsEngine.Cards.Card(CardType.Rock, Zone.Board, 0); Assert.ThrowsException <ArgumentException>(() => card2.AddElement(new RPSCardsEngine.Cards.Card(CardType.Rock))); card2.AddElement(new RPSCardsEngine.Cards.Card(CardType.Water)); Assert.IsTrue(card2.IsDestroyed); Assert.ThrowsException <InvalidOperationException>(() => card2.AddElement(new RPSCardsEngine.Cards.Card(CardType.Water))); var card3 = new RPSCardsEngine.Cards.Card(CardType.Rock, Zone.Hand, 0); Assert.ThrowsException <InvalidOperationException>(() => card3.AddElement(new RPSCardsEngine.Cards.Card(CardType.Water))); var card4 = new RPSCardsEngine.Cards.Card(CardType.Rock, Zone.Deck, 0); Assert.ThrowsException <InvalidOperationException>(() => card4.AddElement(new RPSCardsEngine.Cards.Card(CardType.Water))); var card5 = new RPSCardsEngine.Cards.Card(CardType.Rock, Zone.Graveyard, 0); Assert.ThrowsException <InvalidOperationException>(() => card5.AddElement(new RPSCardsEngine.Cards.Card(CardType.Water))); }
public void TestAddElement_DestroyHelper(CardType original, CardType element) { var c = new RPSCardsEngine.Cards.Card(CardTypeHelpers.GetBaseUnit(original), Zone.Board, 0); if (CardTypeHelpers.IsBaseUnit(original) == false) { c.AddElement(new RPSCardsEngine.Cards.Card(CardTypeHelpers.GetUnitElement(original))); } c.AddElement(new RPSCardsEngine.Cards.Card(element)); Assert.AreEqual(c.Type, original); Assert.AreEqual(c.Zone, Zone.Board); Assert.AreEqual(c.Position, 0); Assert.IsTrue(c.IsDestroyed); }
public void AddElement_UpgradeHelper(CardType original, CardType element, CardType result) { var c = new RPSCardsEngine.Cards.Card(original, Zone.Board, 0); c.AddElement(new RPSCardsEngine.Cards.Card(element)); Assert.AreEqual(c.Type, result); Assert.AreEqual(c.Zone, Zone.Board); Assert.AreEqual(c.Position, 0); Assert.IsFalse(c.IsDestroyed); }
public static Card CardOfType(CardType type, Zone zone) { if (CardTypeHelpers.IsElement(type)) { return(new RPSCardsEngine.Cards.Card(type, zone, 0)); } var card = new RPSCardsEngine.Cards.Card(CardTypeHelpers.GetBaseUnit(type), zone, 0); if (CardTypeHelpers.IsBaseUnit(type) == false) { card.AddElement(new RPSCardsEngine.Cards.Card(CardTypeHelpers.GetUnitElement(type))); } return(card); }