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); }
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); }
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); }
public AnalisadorDeJogadaBuilder ComIdentificadorDeTrincaDefinido() { _identificadorDeTrinca = new IdentificaTresCartasComValoresIguais(); return(this); }