Ejemplo n.º 1
0
        public void Creating_New_Deck_Should_Generate_Full_Deck()
        {
            var shuffler = new ReverseShuffleProvider();

            var deck = new Deck(shuffler);

            Assert.IsTrue(deck.IsFull());
        }
Ejemplo n.º 2
0
        public void Creating_New_Deck_Should_Generate_Standard_52_Card_Deck()
        {
            var shuffler = new ReverseShuffleProvider();

            var deck = new Deck(shuffler);

            Assert.IsTrue(deck.Cards.Count == 52);
        }
Ejemplo n.º 3
0
        public void Shuffling_Empty_Deck_Should_Throw_Exception()
        {
            var shuffler = new ReverseShuffleProvider();

            var deck = new Deck(shuffler);

            deck.Cards.Clear();

            Assert.IsTrue(deck.IsEmpty());
            Assert.ThrowsException <InvalidDeckOperationException>(() => deck.Shuffle());
        }
Ejemplo n.º 4
0
        public void Shuffling_Non_Full_Deck_Should_Throw_Exception()
        {
            var shuffler = new ReverseShuffleProvider();

            var deck = new Deck(shuffler);

            deck.Draw();

            Assert.IsTrue(!deck.IsFull());
            Assert.ThrowsException <InvalidDeckOperationException>(() => deck.Shuffle());
        }
Ejemplo n.º 5
0
        public void Drawing_From_New_Deck_Should_Return_First_Card()
        {
            var shuffler = new ReverseShuffleProvider();

            var deck = new Deck(shuffler);

            var expected = deck.Cards[0];
            var actual   = deck.Draw();

            Assert.AreEqual(expected, actual);
        }
Ejemplo n.º 6
0
        public void Resetting_Deck_Should_Generate_New_Full_Deck()
        {
            var shuffler = new ReverseShuffleProvider();

            var deck = new Deck(shuffler);

            deck.Cards.Clear();

            deck.Reset();

            Assert.IsTrue(deck.IsFull());
        }
Ejemplo n.º 7
0
        public void Shuffling_Deck_Should_Reorder_Deck()
        {
            var shuffler = new ReverseShuffleProvider();

            var deck = new Deck(shuffler);

            var expected = deck.Cards[0];

            deck.Shuffle();

            var actual = deck.Cards[0];

            Assert.AreNotEqual(expected, actual);
        }