コード例 #1
0
        public void DeveDesempatarEntreDoisFullHouse()
        {
            var identificadorDeTrinca = new IdentificaTresCartasComValoresIguais();
            var maoA = new List <Carta>
            {
                CartaBuilder.UmaCarta().ComValor(2).ComNaipe(Naipes.Hearts).Construir(),
                CartaBuilder.UmaCarta().ComValor(2).ComNaipe(Naipes.Diamonds).Construir(),
                CartaBuilder.UmaCarta().ComValor(4).ComNaipe(Naipes.Clubs).Construir(),
                CartaBuilder.UmaCarta().ComValor(4).ComNaipe(Naipes.Diamonds).Construir(),
                CartaBuilder.UmaCarta().ComValor(4).ComNaipe(Naipes.Spades).Construir()
            };
            var maoB = new List <Carta>
            {
                CartaBuilder.UmaCarta().ComValor(3).ComNaipe(Naipes.Clubs).Construir(),
                CartaBuilder.UmaCarta().ComValor(3).ComNaipe(Naipes.Diamonds).Construir(),
                CartaBuilder.UmaCarta().ComValor(3).ComNaipe(Naipes.Spades).Construir(),
                CartaBuilder.UmaCarta().ComValor(9).ComNaipe(Naipes.Spades).Construir(),
                CartaBuilder.UmaCarta().ComValor(9).ComNaipe(Naipes.Diamonds).Construir()
            };
            var maoVencedoraEsperada = maoA.Select(carta => carta.HashDaCarta).ToList();

            var maoVencedoraEncontrada = new DesempateDeFullHouse(identificadorDeTrinca)
                                         .Desempatar(maoA, maoB).Select(carta => carta.HashDaCarta).ToList();

            Assert.Equal(maoVencedoraEsperada, maoVencedoraEncontrada);
        }
        public void DeveEncontrarTresCartasIguais()
        {
            var tresCartasEsperadas = _tresCartasEsperadas.Select(carta => carta.HashDaCarta).ToList();

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

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

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

            Assert.NotEqual(tresCartasEsperadas, tresCartasEncontradas);
        }
コード例 #4
0
        public UmaTrincaTeste()
        {
            _maoDe5Cartas = new List <Carta>
            {
                CartaBuilder.UmaCarta().ComValor(5).ComNaipe(Naipes.Clubs).Construir(),
                CartaBuilder.UmaCarta().ComValor(5).ComNaipe(Naipes.Hearts).Construir(),
                CartaBuilder.UmaCarta().ComValor(5).ComNaipe(Naipes.Diamonds).Construir(),
                CartaBuilder.UmaCarta().ComValor(4).ComNaipe(Naipes.Clubs).Construir(),
                CartaBuilder.UmaCarta().ComValor(14).ComNaipe(Naipes.Hearts).Construir()
            };
            var identificadorDeTresCartasComValoresIguais = new IdentificaTresCartasComValoresIguais();

            _umaTrinca = new UmaTrinca(identificadorDeTresCartasComValoresIguais);
        }
コード例 #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);
        }
コード例 #6
0
 public AnalisadorDeJogadaBuilder ComIdentificadorDeTrincaDefinido()
 {
     _identificadorDeTrinca = new IdentificaTresCartasComValoresIguais();
     return(this);
 }