public void DeveDesempatarEntreDuasQuadras()
        {
            var identificadorDeQuadra = new IdentificaQuatroCartasComValoresIguais();
            var maoA = new List <Carta>
            {
                CartaBuilder.UmaCarta().ComValor(4).ComNaipe(Naipes.Diamonds).Construir(),
                CartaBuilder.UmaCarta().ComValor(4).ComNaipe(Naipes.Spades).Construir(),
                CartaBuilder.UmaCarta().ComValor(4).ComNaipe(Naipes.Hearts).Construir(),
                CartaBuilder.UmaCarta().ComValor(4).ComNaipe(Naipes.Clubs).Construir(),
                CartaBuilder.UmaCarta().ComValor(1).ComNaipe(Naipes.Diamonds).Construir()
            };
            var maoB = new List <Carta>
            {
                CartaBuilder.UmaCarta().ComValor(6).ComNaipe(Naipes.Diamonds).Construir(),
                CartaBuilder.UmaCarta().ComValor(6).ComNaipe(Naipes.Spades).Construir(),
                CartaBuilder.UmaCarta().ComValor(6).ComNaipe(Naipes.Hearts).Construir(),
                CartaBuilder.UmaCarta().ComValor(6).ComNaipe(Naipes.Clubs).Construir(),
                CartaBuilder.UmaCarta().ComValor(3).ComNaipe(Naipes.Diamonds).Construir()
            };
            var maoVencedoraEsperada = maoB.Select(carta => carta).ToList();

            var maoVencedoraEncontrada = new DesempateDeQuadra(identificadorDeQuadra).Desempatar(maoA, maoB);

            Assert.Equal(maoVencedoraEsperada, maoVencedoraEncontrada);
        }
        public void NaoDeveIdentificarSeNaoHouverQuatroCartasComValorIgual()
        {
            _listaDeCartas[0] = CartaBuilder.UmaCarta().ComValor(5).ComNaipe(Naipes.Spades).Construir();

            var quadraEncontrada = new IdentificaQuatroCartasComValoresIguais().IdentificarCartas(_listaDeCartas);

            Assert.Empty(quadraEncontrada);
        }
Пример #3
0
        public QuadraTeste()
        {
            _maoDe5Cartas = new List <Carta>
            {
                CartaBuilder.UmaCarta().ComValor(5).ComNaipe(Naipes.Spades).Construir(),
                CartaBuilder.UmaCarta().ComValor(5).ComNaipe(Naipes.Diamonds).Construir(),
                CartaBuilder.UmaCarta().ComValor(5).ComNaipe(Naipes.Clubs).Construir(),
                CartaBuilder.UmaCarta().ComValor(5).ComNaipe(Naipes.Hearts).Construir(),
                CartaBuilder.UmaCarta().ComValor(6).ComNaipe(Naipes.Diamonds).Construir()
            };
            var identificadorDeQuatroCartasComValoresIguais = new IdentificaQuatroCartasComValoresIguais();

            _quadra = new Quadra(identificadorDeQuatroCartasComValoresIguais);
        }
        public void DeveIdentificarQuatroCartasComValorIgual()
        {
            var quatroCartasEsperadas = new List <Carta>
            {
                CartaBuilder.UmaCarta().ComValor(10).ComNaipe(Naipes.Hearts).Construir(),
                CartaBuilder.UmaCarta().ComValor(10).ComNaipe(Naipes.Spades).Construir(),
                CartaBuilder.UmaCarta().ComValor(10).ComNaipe(Naipes.Diamonds).Construir(),
                CartaBuilder.UmaCarta().ComValor(10).ComNaipe(Naipes.Clubs).Construir()
            }.Select(carta => carta.Valor).ToList();

            var quatroCartasEncontradas = new IdentificaQuatroCartasComValoresIguais().IdentificarCartas(_listaDeCartas).
                                          Select(carta => carta.Valor).ToList();

            Assert.Equal(quatroCartasEsperadas, quatroCartasEncontradas);
        }
Пример #5
0
 public DesempateDeJogadaBuilder ComIdentificadorDeQuadraDefinido()
 {
     _identificadorDeQuadra = new IdentificaQuatroCartasComValoresIguais();
     return(this);
 }