Exemple #1
0
        public void NaoPermiteNovosLancesDadoLeilaoFinalizado(int qtdeEsperada, double[] ofertas)
        {
            IModalidadeAvaliacao modalidade = new MaiorLance();
            var leilao = new Leilao("Van Gogh", modalidade);
            var fulano = new Interessada("Fulano", leilao);
            var maria  = new Interessada("Maria", leilao);

            leilao.IniciaPregao();

            for (int i = 0; i < ofertas.Length; i++)
            {
                var valor = ofertas[i];
                if ((i % 2) == 0)
                {
                    leilao.RecebeLance(fulano, valor);
                }
                else
                {
                    leilao.RecebeLance(maria, valor);
                }
            }

            leilao.TerminaPregao();

            leilao.RecebeLance(fulano, 1000);

            var qtdeObtida = leilao.Lances.Count();

            Assert.Equal(qtdeEsperada, qtdeObtida);
        }
        private static void RetornaMaiorValorDadoLeilaoComPeloMenosUmLance(double valorEsperado, double[] ofertas)
        {
            IModalidadeAvaliacao modalidade = new MaiorLance();
            var leilao = new Leilao("Van Gogh", modalidade);
            var fulano = new Interessada("Fulano", leilao);
            var maria  = new Interessada("Maria", leilao);

            leilao.IniciaPregao();

            for (int i = 0; i < ofertas.Length; i++)
            {
                var valor = ofertas[i];
                if ((i % 2) == 0)
                {
                    leilao.RecebeLance(fulano, valor);
                }
                else
                {
                    leilao.RecebeLance(maria, valor);
                }
            }
            leilao.TerminaPregao();

            var valorObtido = leilao.Ganhador.Valor;

            Assert.Equal(valorEsperado, valorObtido);
        }
Exemple #3
0
        public void QtdePermaneceZeroDadoQuePregaoNaoFoiIniciado(double[] ofertas)
        {
            IModalidadeAvaliacao modalidade = new MaiorLance();
            var leilao = new Leilao("Van Gogh", modalidade);
            var fulano = new Interessada("Fulano de Tal", leilao);

            foreach (var valor in ofertas)
            {
                leilao.RecebeLance(fulano, valor);
            }

            Assert.Empty(leilao.Lances);
        }
        public void RetornaZeroDadoLeilaoSemLances()
        {
            IModalidadeAvaliacao modalidade = new MaiorLance();
            var leilao = new Leilao("Van Gogh", modalidade);

            leilao.IniciaPregao();
            leilao.TerminaPregao();

            var valorEsperado = 0;
            var valorObtido   = leilao.Ganhador.Valor;

            Assert.Equal(valorEsperado, valorObtido);
        }
        public void LancaInvalidOperationExceptionDadoPregaoNaoIniciado()
        {
            IModalidadeAvaliacao modalidade = new MaiorLance();
            var leilao = new Leilao("Van Gogh", modalidade);

            var excecaoObtida = Assert.Throws <System.InvalidOperationException>(
                () => leilao.TerminaPregao()
                );

            var msgEsperada = "Não é possível terminar o pregão sem que ele tenha começado. Para isso, utilize o método IniciePregao()";

            Assert.Equal(msgEsperada, excecaoObtida.Message);
        }
        private static void LeilaoComApenasUmLance()
        {
            IModalidadeAvaliacao modalidade = new MaiorLance();
            var leilao = new Leilao("Van Gogh", modalidade);
            var fulano = new Interessada("Fulano", leilao);

            leilao.RecebeLance(fulano, 800);
            leilao.TerminaPregao();

            var valorEsperado = 800;
            var valorObtido   = leilao.Ganhador.Valor;

            Verifica(valorEsperado, valorObtido);
        }
Exemple #7
0
        public void NaoAceitaProximoLanceDadoMesmoClienteRealizouUltimoLance()
        {
            IModalidadeAvaliacao modalidade = new MaiorLance();
            var leilao = new Leilao("Van Gogh", modalidade);
            var fulano = new Interessada("Fulano de Tal", leilao);

            leilao.IniciaPregao();
            leilao.RecebeLance(fulano, 800);

            leilao.RecebeLance(fulano, 1000);

            leilao.TerminaPregao();

            var qtdeEsperada = 1;
            var qtdeObtida   = leilao.Lances.Count();

            Assert.Equal(qtdeEsperada, qtdeObtida);
        }