public void ReturnTrueWhenLastCardIsWild()
            {
                RunCardCombination combo = new RunCardCombination(3);

                combo.Cards.AddRange(new List <Card>()
                {
                    new Card(CardType.Five, CardColor.Any),
                    new Card(CardType.Six, CardColor.Any),
                    new Card(CardType.Wild, CardColor.Any)
                });

                Assert.True(combo.IsValid());
            }
            public void ReturnTrueWithTwoWilds()
            {
                RunCardCombination combo = new RunCardCombination(3);

                combo.Cards.AddRange(new List <Card>()
                {
                    new Card(CardType.Wild, CardColor.Green),
                    new Card(CardType.Wild, CardColor.Blue),
                    new Card(CardType.Eight, CardColor.Red)
                });

                Assert.True(combo.IsValid());
            }
            public void ReturnTrueWhenFirstTwoCardsAreWild()
            {
                RunCardCombination combo = new RunCardCombination(3);

                combo.Cards.AddRange(new List <Card>()
                {
                    new Card(CardType.Wild, CardColor.Any),
                    new Card(CardType.Wild, CardColor.Any),
                    new Card(CardType.Three, CardColor.Any)
                });

                Assert.True(combo.IsValid());
            }
            public void ReturnsFalseWhenContainsSkipCard()
            {
                RunCardCombination combo = new RunCardCombination(3);

                combo.Cards.AddRange(new List <Card>()
                {
                    new Card(CardType.One, CardColor.Any),
                    new Card(CardType.Two, CardColor.Any),
                    new Card(CardType.Skip, CardColor.Any)
                });

                Assert.False(combo.IsValid());
            }
            public void ReturnTrueForAllWilds()
            {
                RunCardCombination combo = new RunCardCombination(3);

                combo.Cards.AddRange(new List <Card>()
                {
                    new Card(CardType.Wild, CardColor.Any),
                    new Card(CardType.Wild, CardColor.Any),
                    new Card(CardType.Wild, CardColor.Any)
                });

                Assert.True(combo.IsValid());
            }
            public void ReturnTrueForSimpleCase()
            {
                RunCardCombination combo = new RunCardCombination(3);

                combo.Cards.AddRange(new List <Card>()
                {
                    new Card(CardType.One, CardColor.Green),
                    new Card(CardType.Two, CardColor.Blue),
                    new Card(CardType.Three, CardColor.Red)
                });

                Assert.True(combo.IsValid());
            }
            public void ReturnsFalseWhenRunTooHigh()
            {
                RunCardCombination combo = new RunCardCombination(3);

                combo.Cards.AddRange(new List <Card>()
                {
                    new Card(CardType.Twelve, CardColor.Any),
                    new Card(CardType.Wild, CardColor.Any),
                    new Card(CardType.Wild, CardColor.Any)
                });

                Assert.False(combo.IsValid());
            }
            public void ReturnFalseWhenLastNumberIsNotValid()
            {
                RunCardCombination combo = new RunCardCombination(3);

                combo.Cards.AddRange(new List <Card>()
                {
                    new Card(CardType.Wild, CardColor.Any),
                    new Card(CardType.Wild, CardColor.Any),
                    new Card(CardType.One, CardColor.Any)
                });

                Assert.False(combo.IsValid());
            }
            public void ReturnFalseWhenNotValidRun()
            {
                RunCardCombination combo = new RunCardCombination(3);

                combo.Cards.AddRange(new List <Card>()
                {
                    new Card(CardType.One, CardColor.Any),
                    new Card(CardType.Two, CardColor.Any),
                    new Card(CardType.Four, CardColor.Any)
                });

                Assert.False(combo.IsValid());
            }
            public void ReturnsFalseWhenNotValidWithWildsInMiddleHighNumber()
            {
                RunCardCombination combo = new RunCardCombination(5);

                combo.Cards.AddRange(new List <Card>()
                {
                    new Card(CardType.Four, CardColor.Any),
                    new Card(CardType.Wild, CardColor.Any),
                    new Card(CardType.Wild, CardColor.Any),
                    new Card(CardType.Wild, CardColor.Any),
                    new Card(CardType.Nine, CardColor.Any)
                });

                Assert.False(combo.IsValid());
            }
            public void ReturnsTrueWhenValidWithWildsInMiddle()
            {
                RunCardCombination combo = new RunCardCombination(5);

                combo.Cards.AddRange(new List <Card>()
                {
                    new Card(CardType.Four, CardColor.Any),
                    new Card(CardType.Wild, CardColor.Any),
                    new Card(CardType.Wild, CardColor.Any),
                    new Card(CardType.Wild, CardColor.Any),
                    new Card(CardType.Eight, CardColor.Any)
                });

                Assert.True(combo.IsValid());
            }
Exemplo n.º 12
0
        private CardCombination CardCombinationCreator(CardCombinationResourceModel model)
        {
            CardCombination cardCombination;

            switch ((CardCombinationType)model.CardCombinationType)
            {
            case CardCombinationType.Set:
                cardCombination = new SetCardCombination(model.Length);
                break;

            case CardCombinationType.Run:
                cardCombination = new RunCardCombination(model.Length);
                break;

            case CardCombinationType.Color:
                cardCombination = new ColorCardCombination(model.Length);
                break;

            default:
                throw new Exception("Couldn't map Card Combination");
            }

            return(cardCombination);
        }
            public void ReturnFalseWhenNotLongEnough()
            {
                RunCardCombination combo = new RunCardCombination(3);

                Assert.False(combo.IsValid());
            }