public void NaoPermiteNovosLancesDadoLeilaoFinalizado(int qtdEspereda, double[] ofertas)
        {
            //Arranje - cenário de entrada
            var modalidade = new MaiorValor();
            var leilao     = new Leilao("Van Gogh", modalidade);
            var fulano     = new Interessada("Fulado", leilao);
            var maria      = new Interessada("Maria", leilao);

            leilao.InciaPregao();



            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();
            //act - método sob teste
            leilao.RecebeLance(fulano, 1000);
            //assert

            var qtdeObtida = leilao.Lances.Count();

            Assert.Equal(qtdEspereda, qtdeObtida);
        }
예제 #2
0
        public void RetornaMaiorValorDadoLeilaoComPeloMenosUmLance(double[] ofertas, double valorEsperado)
        {
            //Arranje - cenário de entrada
            IModalidadeAvaliacao modalidade = new MaiorValor();
            var leilao = new Leilao("Van Gogh", modalidade);
            var fulano = new Interessada("Fulano", leilao);
            var maria  = new Interessada("Maria", leilao);

            leilao.InciaPregao();
            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);
                }
            }
            //act - método sob teste
            leilao.TerminaPregao();

            //assert
            var valorObtido = leilao.Ganhador.Valor;

            Assert.Equal(valorEsperado, valorObtido);
        }
예제 #3
0
        public void RetornaValorSuperiorMaisProximoDadoLeilaoNessaModalidade(double valorDestino, double valorEsperado, double[] ofertas)
        {
            //Arranje - cenário de entrada
            IModalidadeAvaliacao modalidade = new OfertaSuperiorMaisProxima(valorDestino);
            var leilao = new Leilao("Van Gogh", modalidade);
            var fulano = new Interessada("Fulano", leilao);
            var maria  = new Interessada("Maria", leilao);

            leilao.InciaPregao();
            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);
                }
            }
            //act - método sob teste
            leilao.TerminaPregao();
            Assert.Equal(valorEsperado, leilao.Ganhador.Valor);
        }
예제 #4
0
        public void RetornaZeroDadoLeilaoSemLances()
        {
            //Arranje - cenário de entrada
            var modalidade = new MaiorValor();
            var leilao     = new Leilao("Van Gogh", modalidade);

            leilao.InciaPregao();
            //act - método sob teste
            leilao.TerminaPregao();

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

            Assert.Equal(valorEsperado, valorObtido);
        }
        public void NaoAceitaProximoLanceDadoMesmoClienteRealizouUltimoLance()
        {
            //Arranje - cenário de entrada
            var modalidade = new MaiorValor();
            var leilao     = new Leilao("Van Gogh", modalidade);
            var fulano     = new Interessada("Fulado", leilao);

            leilao.InciaPregao();
            leilao.RecebeLance(fulano, 800);
            //act - método sob teste
            leilao.RecebeLance(fulano, 1000);
            //assert
            var qtdeEsperada = 1;
            var qtdeObtida   = leilao.Lances.Count();

            Assert.Equal(qtdeEsperada, qtdeObtida);
        }