Esempio n. 1
0
        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)));
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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);
        }
Esempio n. 4
0
        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);
        }