public void Posso_descobrir_quadra()
        {
            var mao = new Mao();
            mao.AdicionarCarta(new Carta(TipoCarta.C1, TipoNaipe.C));
            mao.AdicionarCarta(new Carta(TipoCarta.C3, TipoNaipe.H));
            mao.AdicionarCarta(new Carta(TipoCarta.C3, TipoNaipe.D));
            mao.AdicionarCarta(new Carta(TipoCarta.C3, TipoNaipe.S));
            mao.AdicionarCarta(new Carta(TipoCarta.C3, TipoNaipe.C));

            var tipoJogo = AvaliadorDeMao.Avalia(mao);

            Assert.AreEqual(TipoJogo.Quadra, tipoJogo);
        }
        public void Posso_descobrir_flush()
        {
            var mao = new Mao();
            mao.AdicionarCarta(new Carta(TipoCarta.C1, TipoNaipe.C));
            mao.AdicionarCarta(new Carta(TipoCarta.C2, TipoNaipe.C));
            mao.AdicionarCarta(new Carta(TipoCarta.C3, TipoNaipe.C));
            mao.AdicionarCarta(new Carta(TipoCarta.C8, TipoNaipe.C));
            mao.AdicionarCarta(new Carta(TipoCarta.C5, TipoNaipe.C));

            var tipoJogo = AvaliadorDeMao.Avalia(mao);

            Assert.AreEqual(TipoJogo.Flush, tipoJogo);
        }
        public void Posso_descobrir_dois_pares()
        {
            var mao = new Mao();
            mao.AdicionarCarta(new Carta(TipoCarta.C1, TipoNaipe.C));
            mao.AdicionarCarta(new Carta(TipoCarta.C2, TipoNaipe.C));
            mao.AdicionarCarta(new Carta(TipoCarta.C1, TipoNaipe.D));
            mao.AdicionarCarta(new Carta(TipoCarta.C5, TipoNaipe.D));
            mao.AdicionarCarta(new Carta(TipoCarta.C5, TipoNaipe.C));

            var tipoJogo = AvaliadorDeMao.Avalia(mao);

            Assert.AreEqual(TipoJogo.DoisPares, tipoJogo);
        }
        public void Posso_descobrir_a_carta_alta()
        {
            var mao = new Mao();
            mao.AdicionarCarta(new Carta(TipoCarta.C1, TipoNaipe.C));
            mao.AdicionarCarta(new Carta(TipoCarta.C2, TipoNaipe.C));
            mao.AdicionarCarta(new Carta(TipoCarta.C3, TipoNaipe.C));
            mao.AdicionarCarta(new Carta(TipoCarta.C4, TipoNaipe.C));
            mao.AdicionarCarta(new Carta(TipoCarta.C5, TipoNaipe.C));

            var maiorCarta = new Carta(TipoCarta.C5, TipoNaipe.C);

            var carta = AvaliadorDeMao.DescobreCartaAlta(mao);
            Assert.AreEqual(maiorCarta, carta);
        }
        public void Posso_descobri_o_vencedor_da_quinta_entrada()
        {
            var mao = new Mao();
            mao.AdicionarCarta(new Carta(TipoCarta.C2, TipoNaipe.H));
            mao.AdicionarCarta(new Carta(TipoCarta.C2, TipoNaipe.D));
            mao.AdicionarCarta(new Carta(TipoCarta.C4, TipoNaipe.C));
            mao.AdicionarCarta(new Carta(TipoCarta.C4, TipoNaipe.D));
            mao.AdicionarCarta(new Carta(TipoCarta.C4, TipoNaipe.S));

            var mao2 = new Mao();
            mao2.AdicionarCarta(new Carta(TipoCarta.C3, TipoNaipe.C));
            mao2.AdicionarCarta(new Carta(TipoCarta.C3, TipoNaipe.D));
            mao2.AdicionarCarta(new Carta(TipoCarta.C3, TipoNaipe.S));
            mao2.AdicionarCarta(new Carta(TipoCarta.C9, TipoNaipe.S));
            mao2.AdicionarCarta(new Carta(TipoCarta.C9, TipoNaipe.D));

            var jogo = new JogoPoker(mao, mao2);
            int numeroMao = jogo.Vencedor();

            Assert.AreEqual(1, numeroMao);
        }
 public void So_posso_ter_cinco_cartas()
 {
     var mao = new Mao();
     mao.AdicionarCarta(new Carta(TipoCarta.C1, TipoNaipe.C));
     mao.AdicionarCarta(new Carta(TipoCarta.C2, TipoNaipe.C));
     mao.AdicionarCarta(new Carta(TipoCarta.C3, TipoNaipe.C));
     mao.AdicionarCarta(new Carta(TipoCarta.C4, TipoNaipe.C));
     mao.AdicionarCarta(new Carta(TipoCarta.C5, TipoNaipe.C));
     mao.AdicionarCarta(new Carta(TipoCarta.C6, TipoNaipe.C));
 }
 public void Nao_posso_adicionar_carta_ja_existente()
 {
     var mao = new Mao();
     mao.AdicionarCarta(new Carta(TipoCarta.C1, TipoNaipe.C));
     mao.AdicionarCarta(new Carta(TipoCarta.C1, TipoNaipe.C));
 }
        public void Posso_descobrir_royal_flush()
        {
            var mao = new Mao();
            mao.AdicionarCarta(new Carta(TipoCarta.CA, TipoNaipe.C));
            mao.AdicionarCarta(new Carta(TipoCarta.CK, TipoNaipe.C));
            mao.AdicionarCarta(new Carta(TipoCarta.CQ, TipoNaipe.C));
            mao.AdicionarCarta(new Carta(TipoCarta.C10, TipoNaipe.C));
            mao.AdicionarCarta(new Carta(TipoCarta.CJ, TipoNaipe.C));

            var tipoJogo = AvaliadorDeMao.Avalia(mao);

            Assert.AreEqual(TipoJogo.RoyalFlush, tipoJogo);
        }