Example #1
0
        public void Discard_CardInHand_CardOnBottomOfLibrary()
        {
            bool        cardDiscardedEventTriggered = false;
            GameLibrary lib = new GameLibrary();
            SelectableLinkedList <GameCard> cards = new SelectableLinkedList <GameCard>();

            for (int i = 0; i < 29; i++)
            {
                cards.AddFirst(new MockCard());
            }
            lib.Add(cards);
            Hand h = new Hand();

            cards = new SelectableLinkedList <GameCard>();
            cards.AddFirst(new MockCardWithData(42));
            h.Add(cards);
            Player p = new Player(lib, h, null, null);

            p.EventManager = this.EventManager;
            this.EventManager.Register(new Trigger <CardDiscardedEvent>(_ => cardDiscardedEventTriggered = true));
            Engine.AddActor(lib);
            p.Discard(0);
            GameCard c = p.Library.TakeCardAt(29);

            Assert.IsTrue(cardDiscardedEventTriggered);
            Assert.IsTrue(((MockCardWithData)c).data == 42);
        }
 public void PutCardOnBottom_OrderedLibrary_CardOnBottom()
 {
     SelectableLinkedList<GameCard> cards = new SelectableLinkedList<GameCard>();
     for (int i = 0; i < 29; i++)
         cards.AddFirst(new MockCard());
     GameLibrary lib = new GameLibrary();
     lib.Add(cards);
     lib.AddBottom(new MockCardWithData(42));
     lib.TakeCards(29);
     Assert.IsTrue(((MockCardWithData)lib.TakeCards(1)[0]).data == 42);
 }
 public void PutCardAtPosition_NonemptyLibrary_CardAtPosition()
 {
     SelectableLinkedList<GameCard> cards = new SelectableLinkedList<GameCard>();
     for (int i = 0; i < 29; i++)
         cards.AddFirst(new MockCard());
     GameLibrary lib = new GameLibrary();
     lib.Add(cards);
     lib.AddAt(new MockCardWithData(42), 10);
     lib.TakeCards(9);
     Assert.IsTrue(((MockCardWithData)lib.TakeCards(1)[0]).data == 42);
 }
 public void DrawCard_NonemptyLibrary_CardReturned()
 {
     SelectableLinkedList<GameCard> cards = new SelectableLinkedList<GameCard>();
     for (int i = 0; i < 29; i++)
         cards.AddFirst(new MockCard());
     cards.AddFirst(new MockCardWithData(42));
     GameLibrary lib = ConstructLibrary();
     lib.Add(cards);
     GameCard card = lib.Draw();
     Assert.IsTrue(((MockCardWithData)card).data == 42);
 }
 public void DrawMultipleCards_NonemptyLibrary_CardsReturned()
 {
     SelectableLinkedList<GameCard> cards = new SelectableLinkedList<GameCard>();
     for (int i = 0; i < 28; i++)
         cards.AddFirst(new MockCard());
     cards.AddFirst(new MockCardWithData(42));
     cards.AddFirst(new MockCardWithData(42));
     GameLibrary lib = ConstructLibrary();
     lib.Add(cards);
     List<GameCard> returnedCards = lib.Draw(2);
     foreach (GameCard card in returnedCards)
         Assert.IsTrue(((MockCardWithData)card).data == 42);
 }
 public void ShuffleLibrary_OrderedLibrary_LibraryOrderReversed()
 {
     SelectableLinkedList<GameCard> cards = new SelectableLinkedList<GameCard>();
     for (int i = 0; i < 10; i++)
         cards.AddLast(new MockCardWithData(i + 1));
     GameLibrary lib = new GameLibrary();
     lib.Add(cards);
     lib.Shuffle(_ => 0);
     List<GameCard> newLib = lib.TakeCards(10);
     for (int i = 0; i < newLib.Count; i++)
     {
         Assert.IsTrue(((MockCardWithData)newLib[i]).data == 10 - i);
     }
 }
        public void PutCardOnBottom_OrderedLibrary_CardOnBottom()
        {
            SelectableLinkedList <GameCard> cards = new SelectableLinkedList <GameCard>();

            for (int i = 0; i < 29; i++)
            {
                cards.AddFirst(new MockCard());
            }
            GameLibrary lib = new GameLibrary();

            lib.Add(cards);
            lib.AddBottom(new MockCardWithData(42));
            lib.TakeCards(29);
            Assert.IsTrue(((MockCardWithData)lib.TakeCards(1)[0]).data == 42);
        }
        public void PutCardAtPosition_NonemptyLibrary_CardAtPosition()
        {
            SelectableLinkedList <GameCard> cards = new SelectableLinkedList <GameCard>();

            for (int i = 0; i < 29; i++)
            {
                cards.AddFirst(new MockCard());
            }
            GameLibrary lib = new GameLibrary();

            lib.Add(cards);
            lib.AddAt(new MockCardWithData(42), 10);
            lib.TakeCards(9);
            Assert.IsTrue(((MockCardWithData)lib.TakeCards(1)[0]).data == 42);
        }
        public void DrawCard_NonemptyLibrary_CardReturned()
        {
            SelectableLinkedList <GameCard> cards = new SelectableLinkedList <GameCard>();

            for (int i = 0; i < 29; i++)
            {
                cards.AddFirst(new MockCard());
            }
            cards.AddFirst(new MockCardWithData(42));
            GameLibrary lib = ConstructLibrary();

            lib.Add(cards);
            GameCard card = lib.Draw();

            Assert.IsTrue(((MockCardWithData)card).data == 42);
        }
Example #10
0
        public void ShuffleLibrary_OrderedLibrary_LibraryOrderReversed()
        {
            SelectableLinkedList <GameCard> cards = new SelectableLinkedList <GameCard>();

            for (int i = 0; i < 10; i++)
            {
                cards.AddLast(new MockCardWithData(i + 1));
            }
            GameLibrary lib = new GameLibrary();

            lib.Add(cards);
            lib.Shuffle(_ => 0);
            List <GameCard> newLib = lib.TakeCards(10);

            for (int i = 0; i < newLib.Count; i++)
            {
                Assert.IsTrue(((MockCardWithData)newLib[i]).data == 10 - i);
            }
        }
Example #11
0
        public void DrawACard_EmptyHandNonemptyLibrary_CardsInHand()
        {
            bool cardDrawnEventTriggered = false;

            GameLibrary lib = new GameLibrary();
            SelectableLinkedList<GameCard> cards = new SelectableLinkedList<GameCard>();
            cards.AddFirst(new MockCardWithData(42));
            lib.Add(cards);
            Hand h = new Hand();
            Player p = new Player(lib, h,null,null);
            p.EventManager = this.EventManager;
            this.EventManager.Register(new Trigger<CardDrawnEvent>(_ => cardDrawnEventTriggered = true));
            Engine.AddActor(p);
            p.Draw(1);
            GameCard c = p.Hand.TakeCards(1)[0];
            Assert.IsTrue(cardDrawnEventTriggered);
            Assert.IsTrue(lib.IsEmpty());
            Assert.IsTrue(((MockCardWithData)c).data == 42);
        }
Example #12
0
        public void DrawMultipleCards_NonemptyLibrary_CardsReturned()
        {
            SelectableLinkedList <GameCard> cards = new SelectableLinkedList <GameCard>();

            for (int i = 0; i < 28; i++)
            {
                cards.AddFirst(new MockCard());
            }
            cards.AddFirst(new MockCardWithData(42));
            cards.AddFirst(new MockCardWithData(42));
            GameLibrary lib = ConstructLibrary();

            lib.Add(cards);
            List <GameCard> returnedCards = lib.Draw(2);

            foreach (GameCard card in returnedCards)
            {
                Assert.IsTrue(((MockCardWithData)card).data == 42);
            }
        }
Example #13
0
 public void Discard_CardInHand_CardOnBottomOfLibrary()
 {
     bool cardDiscardedEventTriggered = false;
     GameLibrary lib = new GameLibrary();
     SelectableLinkedList<GameCard> cards = new SelectableLinkedList<GameCard>();
     for (int i = 0; i < 29; i++)
         cards.AddFirst(new MockCard());
     lib.Add(cards);
     Hand h = new Hand();
     cards = new SelectableLinkedList<GameCard>();
     cards.AddFirst(new MockCardWithData(42));
     h.Add(cards);
     Player p = new Player(lib, h, null,null);
     p.EventManager = this.EventManager;
     this.EventManager.Register(new Trigger<CardDiscardedEvent>(_ => cardDiscardedEventTriggered = true));
     Engine.AddActor(lib);
     p.Discard(0);
     GameCard c = p.Library.TakeCardAt(29);
     Assert.IsTrue(cardDiscardedEventTriggered);
     Assert.IsTrue(((MockCardWithData)c).data == 42);
 }
Example #14
0
        public void DrawACard_EmptyHandNonemptyLibrary_CardsInHand()
        {
            bool cardDrawnEventTriggered = false;

            GameLibrary lib = new GameLibrary();
            SelectableLinkedList <GameCard> cards = new SelectableLinkedList <GameCard>();

            cards.AddFirst(new MockCardWithData(42));
            lib.Add(cards);
            Hand   h = new Hand();
            Player p = new Player(lib, h, null, null);

            p.EventManager = this.EventManager;
            this.EventManager.Register(new Trigger <CardDrawnEvent>(_ => cardDrawnEventTriggered = true));
            Engine.AddActor(p);
            p.Draw(1);
            GameCard c = p.Hand.TakeCards(1)[0];

            Assert.IsTrue(cardDrawnEventTriggered);
            Assert.IsTrue(lib.IsEmpty());
            Assert.IsTrue(((MockCardWithData)c).data == 42);
        }