コード例 #1
0
        public DeterminaVencedorTeste()
        {
            var conversorDeValorDeCarta = new ConversorDeValorDeCarta();
            var conversorDeNaipe        = new ConversorDeNaipe();
            var conversorDeCarta        = ConversorDeCartaBuilder.UmConversor()
                                          .ComConversorDeNaipe(conversorDeNaipe)
                                          .ComConversorDeValorDeCarta(conversorDeValorDeCarta)
                                          .Construir();

            _conversorDeMao = ConversorDeMaoDe5CartasBuilder.UmConversor()
                              .ComConversorDeCartas(conversorDeCarta)
                              .Construir();
            _analisadorDeJogada = AnalisadorDeJogadaBuilder.UmAnalisador()
                                  .ComIdentificadorDeCartaMaisAltaDefinido()
                                  .ComIdentificadorDeParDefinido()
                                  .ComIdentificadorDeTrincaDefinido()
                                  .ComIdentificadorDeQuatroCartasDefinido()
                                  .ComIdentificadorDeNaipesIguaisDefinido()
                                  .ComIdentificadorDeSequenciaDefinido()
                                  .Construir();
            _desempatadorDeJogada = DesempateDeJogadaBuilder.UmDesempatador()
                                    .ComIdentificadorDeCartaMaisAltaDefinido()
                                    .ComIdentificadorDeParDefinido()
                                    .ComIdentificadorDeTrincaDefinido()
                                    .ComIdentificadorDeQuadraDefinido()
                                    .Construir();
        }
コード例 #2
0
        public void DeveConverterUmaMaoDe5CartasValidas()
        {
            const string maoDe5Cartas         = "4D 6S 9H QH QC";
            var          maoDe5CartasEsperada = new List <Carta>
            {
                CartaBuilder.UmaCarta().ComValor(4).ComNaipe(Naipes.Diamonds).Construir(),
                CartaBuilder.UmaCarta().ComValor(6).ComNaipe(Naipes.Spades).Construir(),
                CartaBuilder.UmaCarta().ComValor(9).ComNaipe(Naipes.Hearts).Construir(),
                CartaBuilder.UmaCarta().ComValor(12).ComNaipe(Naipes.Hearts).Construir(),
                CartaBuilder.UmaCarta().ComValor(12).ComNaipe(Naipes.Clubs).Construir()
            }.Select(cartas => cartas.HashDaCarta);
            var conversorDeCarta = ConversorDeCartaBuilder.UmConversor()
                                   .ComConversorDeValorDeCarta(new ConversorDeValorDeCarta())
                                   .ComConversorDeNaipe(new ConversorDeNaipe())
                                   .Construir();
            var conversorDeMaoDe5Cartas = ConversorDeMaoDe5CartasBuilder.UmConversor()
                                          .ComConversorDeCartas(conversorDeCarta).Construir();

            var maoDe5CartasConvertida = conversorDeMaoDe5Cartas.Converter(maoDe5Cartas)
                                         .Select(cartas => cartas.HashDaCarta);

            Assert.Equal(maoDe5CartasEsperada, maoDe5CartasConvertida);
        }