public void DeveDesempatarEntreDuasQuadras() { var identificadorDeQuadra = new IdentificaQuatroCartasComValoresIguais(); var maoA = new List <Carta> { CartaBuilder.UmaCarta().ComValor(4).ComNaipe(Naipes.Diamonds).Construir(), CartaBuilder.UmaCarta().ComValor(4).ComNaipe(Naipes.Spades).Construir(), CartaBuilder.UmaCarta().ComValor(4).ComNaipe(Naipes.Hearts).Construir(), CartaBuilder.UmaCarta().ComValor(4).ComNaipe(Naipes.Clubs).Construir(), CartaBuilder.UmaCarta().ComValor(1).ComNaipe(Naipes.Diamonds).Construir() }; var maoB = new List <Carta> { CartaBuilder.UmaCarta().ComValor(6).ComNaipe(Naipes.Diamonds).Construir(), CartaBuilder.UmaCarta().ComValor(6).ComNaipe(Naipes.Spades).Construir(), CartaBuilder.UmaCarta().ComValor(6).ComNaipe(Naipes.Hearts).Construir(), CartaBuilder.UmaCarta().ComValor(6).ComNaipe(Naipes.Clubs).Construir(), CartaBuilder.UmaCarta().ComValor(3).ComNaipe(Naipes.Diamonds).Construir() }; var maoVencedoraEsperada = maoB.Select(carta => carta).ToList(); var maoVencedoraEncontrada = new DesempateDeQuadra(identificadorDeQuadra).Desempatar(maoA, maoB); Assert.Equal(maoVencedoraEsperada, maoVencedoraEncontrada); }
public void NaoDeveIdentificarSeNaoHouverQuatroCartasComValorIgual() { _listaDeCartas[0] = CartaBuilder.UmaCarta().ComValor(5).ComNaipe(Naipes.Spades).Construir(); var quadraEncontrada = new IdentificaQuatroCartasComValoresIguais().IdentificarCartas(_listaDeCartas); Assert.Empty(quadraEncontrada); }
public QuadraTeste() { _maoDe5Cartas = new List <Carta> { CartaBuilder.UmaCarta().ComValor(5).ComNaipe(Naipes.Spades).Construir(), CartaBuilder.UmaCarta().ComValor(5).ComNaipe(Naipes.Diamonds).Construir(), CartaBuilder.UmaCarta().ComValor(5).ComNaipe(Naipes.Clubs).Construir(), CartaBuilder.UmaCarta().ComValor(5).ComNaipe(Naipes.Hearts).Construir(), CartaBuilder.UmaCarta().ComValor(6).ComNaipe(Naipes.Diamonds).Construir() }; var identificadorDeQuatroCartasComValoresIguais = new IdentificaQuatroCartasComValoresIguais(); _quadra = new Quadra(identificadorDeQuatroCartasComValoresIguais); }
public void DeveIdentificarQuatroCartasComValorIgual() { var quatroCartasEsperadas = new List <Carta> { CartaBuilder.UmaCarta().ComValor(10).ComNaipe(Naipes.Hearts).Construir(), CartaBuilder.UmaCarta().ComValor(10).ComNaipe(Naipes.Spades).Construir(), CartaBuilder.UmaCarta().ComValor(10).ComNaipe(Naipes.Diamonds).Construir(), CartaBuilder.UmaCarta().ComValor(10).ComNaipe(Naipes.Clubs).Construir() }.Select(carta => carta.Valor).ToList(); var quatroCartasEncontradas = new IdentificaQuatroCartasComValoresIguais().IdentificarCartas(_listaDeCartas). Select(carta => carta.Valor).ToList(); Assert.Equal(quatroCartasEsperadas, quatroCartasEncontradas); }
public DesempateDeJogadaBuilder ComIdentificadorDeQuadraDefinido() { _identificadorDeQuadra = new IdentificaQuatroCartasComValoresIguais(); return(this); }