Ejemplo n.º 1
0
        public void RetornaValorSuperiorMaisProximoDadoLeilaoNessaModalidade(
            double valorDestino,
            double valorEsperado,
            double[] ofertas)
        {
            //Arrange
            var modalidade = new OfertaSuperiorMaisProxima(valorDestino);
            var leilao     = new Leilao("Cama Box com Colchão", modalidade);

            leilao.Iniciar();

            var marina = new Interessado("Marina", leilao);
            var maria  = new Interessado("Maria", leilao);

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

            //Act
            leilao.Finalizar();

            //Assert
            Assert.Equal(valorEsperado, leilao.Ganhador.Valor);
        }
Ejemplo n.º 2
0
        public void TerminaPregao_RetornaMaiorValor_QuandoLeilaoComPeloMenosUmLance(double valorEsperado,
                                                                                    double[] lances)
        {
            // Arrange
            var modalidade = new MaiorValor();
            var leilao     = new Leilao("Pintura do Van Gogh", modalidade);
            var licitante1 = new Licitante("Licitante Um", leilao);
            var licitante2 = new Licitante("Licitante Dois", leilao);

            leilao.Iniciar();
            for (var i = 0; i < lances.Length; i++)
            {
                if (i % 2 == 0)
                {
                    leilao.ReceberLance(licitante1, lances[i]);
                    continue;
                }

                leilao.ReceberLance(licitante2, lances[i]);
            }

            leilao.Terminar();

            // Assert
            var valorRecebido = leilao.Ganhador.Valor;

            Assert.Equal(valorEsperado, valorRecebido);
        }
Ejemplo n.º 3
0
        public void RetornaMaiorValorDadoLeilaoComPeloMenosUmValor(
            double valorEsperado, double[] valores)
        {
            //Arrange

            var modalidade = new MaiorValor();

            var leilao = new Leilao(peca: "Tv Samsung", modalidade);

            leilao.Iniciar();

            var beatriz = new Interessado("Beatriz", leilao);
            var mario   = new Interessado("Mario", leilao);

            for (int contador = 0; contador < valores.Length; contador++)
            {
                if ((contador % 2) == 0)
                {
                    leilao.RecebeLance(beatriz, valores[contador]);
                }
                else
                {
                    leilao.RecebeLance(mario, valores[contador]);
                }
            }

            //Act
            leilao.Finalizar();

            //Assert
            Assert.Equal(valorEsperado, leilao.Ganhador.Valor);
        }
Ejemplo n.º 4
0
        public void NaoAceitaProximoLanceDadoLeilaoFinalizado()
        {
            //Arrange
            var modalidade = new MaiorValor();

            var leilao = new Leilao(peca: "Notebook HP", modalidade);

            var vinicius = new Interessado("Vinicius", leilao);
            var pamela   = new Interessado("Pamela", leilao);

            leilao.Iniciar();

            leilao.RecebeLance(vinicius, 500);
            leilao.RecebeLance(pamela, 600);
            leilao.Finalizar();

            //Act

            leilao.RecebeLance(vinicius, 700);

            //Assert

            var qtdLancesObtido    = leilao.Lances.Count();
            var qtdLancesEsperados = 2;

            Assert.Equal(qtdLancesEsperados, qtdLancesObtido);
        }
Ejemplo n.º 5
0
        public void TerminaPregao_RetornaZero_QuandoLeilaoSemLances()
        {
            // Arrange
            var modalidade = new MaiorValor();
            var leilao     = new Leilao("Pintura do Van Gogh", modalidade);

            leilao.Iniciar();

            // Act
            leilao.Terminar();

            // Assert
            var valorEsperado = 0;
            var valorRecebido = leilao.Ganhador.Valor;

            Assert.Equal(valorEsperado, valorRecebido);
        }
Ejemplo n.º 6
0
        public void RetornaZeroDadoLeilaoSemLances()
        {
            //Arrange - Cenários de entrada
            var modalidade = new MaiorValor();
            var leilao     = new Leilao(peca: "Notebook HP", modalidade);

            leilao.Iniciar();

            //Act - método sob teste
            leilao.Finalizar();

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

            Assert.Equal(valorEsperado, valorObtido);
        }
Ejemplo n.º 7
0
        public void ReceberLance_NaoPermiteNovoLance_QuandoOLicitanteTentaDarLancesConsecutivos()
        {
            // Arrange
            var modalidade = new MaiorValor();
            var leilao     = new Leilao("Pintura do Van Gogh", modalidade);
            var licitante  = new Licitante("Licitante Um", leilao);

            leilao.Iniciar();
            leilao.ReceberLance(licitante, 100);

            // Act
            leilao.ReceberLance(licitante, 5000);

            // Assert
            const int qtdEsperada = 1;
            var       qtdRecebida = leilao.Lances.Count();

            Assert.Equal(qtdEsperada, qtdRecebida);
        }
Ejemplo n.º 8
0
        public void Terminar_Retorna_ValorSuperiorMaisProximo_DadoLeilaoNessaModalidade()
        {
            // Arrange
            var modalidade = new OfertaSuperiorMaisProxima(150);
            var leilao     = new Leilao("Pintura do Van Gogh", modalidade);
            var licitante  = new Licitante("Licitante Um", leilao);
            var licitante2 = new Licitante("Licitante Dois", leilao);

            leilao.Iniciar();

            // Act
            leilao.ReceberLance(licitante, 100);
            leilao.ReceberLance(licitante2, 200);
            leilao.ReceberLance(licitante, 5000);
            leilao.Terminar();

            // Assert
            const double valorEsperado = 200;
            var          valorRecebido = leilao.Ganhador.Valor;

            Assert.Equal(valorEsperado, valorRecebido);
        }
Ejemplo n.º 9
0
        public void ReceberLance_NaoPermiteNovosLances_QuandoLeilaoFinalizado(double qtdEsperada, double[] lances)
        {
            // Arrange
            var modalidade = new MaiorValor();
            var leilao     = new Leilao("Pintura do Van Gogh", modalidade);
            var licitante1 = new Licitante("Licitante Um", leilao);
            var licitante2 = new Licitante("Licitante Dois", leilao);

            leilao.Iniciar();
            for (var i = 0; i < lances.Length; i++)
            {
                if (i % 2 == 0)
                {
                    leilao.ReceberLance(licitante1, lances[i]);
                    continue;
                }

                leilao.ReceberLance(licitante2, lances[i]);
            }

            leilao.Terminar();

            // Act

            if (lances.Length % 2 == 0)
            {
                leilao.ReceberLance(licitante1, 5000);
            }
            else
            {
                leilao.ReceberLance(licitante2, 5000);
            }

            // Assert
            var qtdRecebida = leilao.Lances.Count();

            Assert.Equal(qtdEsperada, qtdRecebida);
        }
Ejemplo n.º 10
0
        public void NaoAceitaProximoLanceDadoMesmoClienteUltimoLance()
        {
            //Arrange

            var modalidade = new MaiorValor();

            var leilao = new Leilao("Geladeira", modalidade);

            var vinicius = new Interessado("Vinicius", leilao);

            leilao.Iniciar();

            leilao.RecebeLance(vinicius, 800);

            //Act
            leilao.RecebeLance(vinicius, 900);

            //Assert
            double qtdLancesEsperado = 1;
            double qtdLancesObtido   = leilao.Lances.Count();

            Assert.Equal(qtdLancesEsperado, qtdLancesObtido);
        }