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(); }
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); }