public IActionResult Sortear()
        {
            var resultado         = concurso.Sortear();
            var resultadoResponse = new List <ResultadoDoSorteioVO>();
            List <BilheteMegaSenaVO>    bilhetesPremiados;
            List <ResultadoDoSorteioVO> resultadoVO = new List <ResultadoDoSorteioVO>();


            foreach (var r in resultado)
            {
                bilhetesPremiados = new List <BilheteMegaSenaVO>();

                foreach (MegaSena v in r.Value)
                {
                    bilhetesPremiados.Add(new BilheteMegaSenaVO
                    {
                        Dezena1 = v.Dezena1,
                        Dezena2 = v.Dezena2,
                        Dezena3 = v.Dezena3,
                        Dezena4 = v.Dezena4,
                        Dezena5 = v.Dezena5,
                        Dezena6 = v.Dezena6
                    });
                }

                resultadoVO.Add(new ResultadoDoSorteioVO
                {
                    Premio   = r.Key,
                    Bilhetes = bilhetesPremiados
                });
            }

            return(Json(resultadoVO));
        }
Beispiel #2
0
        public void Sortear_UmBilheteAcertadorDaQuinaComOutrosSemPremio_OBilheteRetonraVencedor()
        {
            var sorteito = new Concurso <MegaSena>(new SorteioDaMegaSenaDouble());

            sorteito.Participar(new MegaSena(1, 2, 3, 4, 5, 7));
            sorteito.Participar(new MegaSena(1, 2, 3, 7, 8, 9));
            sorteito.Participar(new MegaSena(1, 2, 3, 9, 10, 11));

            var resultado = sorteito.Sortear();

            Assert.Single(resultado);
            Assert.Equal("Quina", resultado.Keys.First());
            Assert.Single(resultado.Values.First());
        }
Beispiel #3
0
        public void Sortear_UmUnicoBilheteAcertadorDaSena_OBilheteRetonraVencedor()
        {
            var numerosPremiados = new MegaSena(1, 2, 3, 4, 5, 6);
            var sorteito         = new Concurso <MegaSena>(new SorteioDaMegaSenaDouble());

            sorteito.Participar(new MegaSena(1, 2, 3, 4, 5, 6));

            var acertadores = sorteito.Sortear();
            var bilhete     = acertadores.First().Value.First();

            Assert.Single(acertadores);
            Assert.Equal("Sena", acertadores.Keys.First());
            Assert.Single(acertadores.Values.First());
            Assert.Equal("1, 2, 3, 4, 5, 6", bilhete.ToString());
        }
Beispiel #4
0
        public void Sortear_SenaEQuina_RetornaOsDoisBilhetesPremiados()
        {
            var sorteito = new Concurso <MegaSena>(new SorteioDaMegaSenaDouble());

            sorteito.Participar(new MegaSena(1, 2, 3, 4, 5, 6)); //vencedor
            sorteito.Participar(new MegaSena(1, 20, 3, 4, 50, 60));
            sorteito.Participar(new MegaSena(1, 25, 32, 4, 5, 60));
            sorteito.Participar(new MegaSena(10, 2, 30, 4, 5, 6)); //vencedor
            sorteito.Participar(new MegaSena(7, 2, 3, 14, 57, 6));

            var resultado = sorteito.Sortear();

            Assert.Equal(2, resultado.Count);
            Assert.Equal("Quadra,Sena", string.Join(",", resultado.Keys.OrderBy(k => k)));
        }
Beispiel #5
0
        public void Sortear_DoisBilhetesAcertadoresDaQuinaComOutrosSemPremio_OBilheteRetonraVencedor()
        {
            var sorteito = new Concurso <MegaSena>(new SorteioDaMegaSenaDouble());

            sorteito.Participar(new MegaSena(1, 2, 3, 4, 5, 7)); //vencedor
            sorteito.Participar(new MegaSena(1, 20, 3, 4, 50, 60));
            sorteito.Participar(new MegaSena(1, 25, 32, 4, 5, 60));
            sorteito.Participar(new MegaSena(10, 2, 3, 4, 5, 6)); //vencedor
            sorteito.Participar(new MegaSena(7, 2, 3, 14, 57, 6));

            var resultado = sorteito.Sortear();

            Assert.Equal(1, resultado.Count);
            Assert.Equal("Quina", resultado.Keys.First());
            Assert.Equal(2, resultado.Values.First().Count);
        }
Beispiel #6
0
        public void Sortear_UmBilheteAcertadorDaSenaComOutrosSemPremio_OBilheteRetonraVencedor()
        {
            var sorteito = new Concurso <MegaSena>(new SorteioDaMegaSenaDouble());

            sorteito.Participar(new MegaSena(10, 20, 3, 40, 5, 6));
            sorteito.Participar(new MegaSena(1, 2, 3, 4, 5, 6));
            sorteito.Participar(new MegaSena(1, 20, 30, 4, 5, 60));
            sorteito.Participar(new MegaSena(1, 2, 3, 40, 50, 60));

            var acertadores = sorteito.Sortear();
            var bilhete     = acertadores.First().Value.First();

            Assert.Single(acertadores);
            Assert.Equal("Sena", acertadores.Keys.First());
            Assert.Single(acertadores.Values.First());
            Assert.Equal("1, 2, 3, 4, 5, 6", bilhete.ToString());
        }