public void DeveEncontrarDuasCartasIguais()
        {
            var duasCartasEsperadas = _duasCartasEsperadas.Select(carta => carta.HashDaCarta).ToList();

            var tresCartasEncontradas = new IdentificaDuasCartasComValoresIguais().IdentificarCartas(_listaDeCartas)
                                        .Select(carta => carta.HashDaCarta).ToList();

            Assert.Equal(duasCartasEsperadas, tresCartasEncontradas);
        }
        public void NaoDeveEncontrarDuasCartasIguais()
        {
            _listaDeCartas[0] = CartaBuilder.UmaCarta().ComValor(10).ComNaipe(Naipes.Diamonds).Construir();
            var duasCartasEsperadas = _duasCartasEsperadas.Select(carta => carta.HashDaCarta).ToList();

            var duasCartasEncontradas = new IdentificaDuasCartasComValoresIguais().IdentificarCartas(_listaDeCartas)
                                        .Select(carta => carta.HashDaCarta).ToList();

            Assert.NotEqual(duasCartasEsperadas, duasCartasEncontradas);
        }
Ejemplo n.º 3
0
        public UmParDeCartasTeste()
        {
            _maoDe5Cartas = new List <Carta>
            {
                CartaBuilder.UmaCarta().ComValor(1).ComNaipe(Naipes.Diamonds).Construir(),
                CartaBuilder.UmaCarta().ComValor(2).ComNaipe(Naipes.Hearts).Construir(),
                CartaBuilder.UmaCarta().ComValor(7).ComNaipe(Naipes.Spades).Construir(),
                CartaBuilder.UmaCarta().ComValor(7).ComNaipe(Naipes.Diamonds).Construir(),
                CartaBuilder.UmaCarta().ComValor(9).ComNaipe(Naipes.Hearts).Construir()
            };
            var identificadorDePar = new IdentificaDuasCartasComValoresIguais();

            _umParDeCartas = new UmParDeCartas(identificadorDePar);
        }
        public DoisParesDiferentesTeste()
        {
            _maoDe5Cartas = new List <Carta>
            {
                CartaBuilder.UmaCarta().ComValor(1).ComNaipe(Naipes.Hearts).Construir(),
                CartaBuilder.UmaCarta().ComValor(5).ComNaipe(Naipes.Spades).Construir(),
                CartaBuilder.UmaCarta().ComValor(5).ComNaipe(Naipes.Diamonds).Construir(),
                CartaBuilder.UmaCarta().ComValor(9).ComNaipe(Naipes.Clubs).Construir(),
                CartaBuilder.UmaCarta().ComValor(9).ComNaipe(Naipes.Hearts).Construir()
            };
            var identificadorDePar = new IdentificaDuasCartasComValoresIguais();

            _doisParesDiferentes = new DoisParesDiferentes(identificadorDePar);
        }
Ejemplo n.º 5
0
        public FullHouseTeste()
        {
            _maoDe5Cartas = new List <Carta>
            {
                CartaBuilder.UmaCarta().ComValor(1).ComNaipe(Naipes.Hearts).Construir(),
                CartaBuilder.UmaCarta().ComValor(2).ComNaipe(Naipes.Spades).Construir(),
                CartaBuilder.UmaCarta().ComValor(1).ComNaipe(Naipes.Diamonds).Construir(),
                CartaBuilder.UmaCarta().ComValor(1).ComNaipe(Naipes.Spades).Construir(),
                CartaBuilder.UmaCarta().ComValor(2).ComNaipe(Naipes.Clubs).Construir()
            };

            var identificadorDePar    = new IdentificaDuasCartasComValoresIguais();
            var identificadorDeTrinca = new IdentificaTresCartasComValoresIguais();

            _fullHouse = new FullHouse(identificadorDeTrinca, identificadorDePar);
        }
Ejemplo n.º 6
0
        public DesempateDeUmParTeste()
        {
            var identificadorDePar           = new IdentificaDuasCartasComValoresIguais();
            var identificadorDeCartaMaisAlta = new IdentificaCartaMaisAlta();

            _maoA = new List <Carta>
            {
                CartaBuilder.UmaCarta().ComValor(10).ComNaipe(Naipes.Diamonds).Construir(),
                CartaBuilder.UmaCarta().ComValor(10).ComNaipe(Naipes.Spades).Construir(),
                CartaBuilder.UmaCarta().ComValor(2).ComNaipe(Naipes.Diamonds).Construir(),
                CartaBuilder.UmaCarta().ComValor(6).ComNaipe(Naipes.Clubs).Construir(),
                CartaBuilder.UmaCarta().ComValor(9).ComNaipe(Naipes.Hearts).Construir(),
            };
            _maoB = new List <Carta>
            {
                CartaBuilder.UmaCarta().ComValor(8).ComNaipe(Naipes.Diamonds).Construir(),
                CartaBuilder.UmaCarta().ComValor(8).ComNaipe(Naipes.Spades).Construir(),
                CartaBuilder.UmaCarta().ComValor(3).ComNaipe(Naipes.Diamonds).Construir(),
                CartaBuilder.UmaCarta().ComValor(4).ComNaipe(Naipes.Clubs).Construir(),
                CartaBuilder.UmaCarta().ComValor(5).ComNaipe(Naipes.Hearts).Construir(),
            };
            _desempateDeUmPar = new DesempateDeUmPar(identificadorDePar, identificadorDeCartaMaisAlta);
        }
 public AnalisadorDeJogadaBuilder ComIdentificadorDeParDefinido()
 {
     _identificadorDePar = new IdentificaDuasCartasComValoresIguais();
     return(this);
 }