public void RetornaValorMaisProximo(double valorDestino, double valorEsperado, double[] ofertas)
        {
            //Arranje - cenário
            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.IniciaPregao();

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

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

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

            Assert.Equal(valorEsperado, valorObtido);
        }
Beispiel #2
0
        public void RetornaValorDadoLeilaoComPeloMenosUmLance(double valor, double[] ofertas)
        {
            // give when then
            // Arrange Act Assert
            // Arranje - cenário de entrada
            // Dado(give) leilão com 2 clientes sendo que fulado deu dois Lances, um de 800 e outro de 1000
            // e maria deu um lance 900

            MaiorValor modalidade = new MaiorValor();
            var        leilao     = new Leilao("Jogos", modalidade);
            var        fulano     = new Interessada("Fulano", leilao);
            var        maria      = new Interessada("Maria", leilao);

            leilao.IniciaPregao();

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

            // Act - método sob teste
            // Quando o leilão/pregão termina
            leilao.TerminaPregao();

            // Assert
            // Então o valor esperado é o maior valor, no caso é 100
            var valorEsperado = valor;
            var valorObtido   = leilao.Ganhador.Valor;

            Assert.Equal(valorEsperado, valorObtido);
        }
        private static void LeilaoComUnicoValores()
        {
            //Arranje - cenário
            var modalidade = new MaiorValor();
            var leilao     = new Leilao("Van Gogh", modalidade);
            var fulano     = new Interessada("Fulano", leilao);


            leilao.RecebeLance(fulano, 800);

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

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

            if (valorEsperado == valorObtido)
            {
                Console.WriteLine("TESTE - OK");
            }
            else
            {
                Console.WriteLine("TESTE - Falha!");
            }
        }
Beispiel #4
0
        public void NaoAceitaLancesConsecutivosDoMesmoCliente()
        {
            var modalidade = new MaiorOferta();
            var leilao     = new Leilao("Van Gogh", modalidade);
            var pessoa1    = new Interessada("Fulano", leilao);

            leilao.IniciaPregao();
            leilao.RecebeLance(pessoa1, 1000);
            leilao.RecebeLance(pessoa1, 1200);

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

            Assert.Equal(qtdeObtida, qtdeEsperada);
        }
Beispiel #5
0
        static void Main(string[] args)
        {
            var modalidade = new MaiorOferta();
            var leilao     = new Leilao("Van Gogh", modalidade);
            var pessoa1    = new Interessada("Fulano", leilao);
            var pessoa2    = new Interessada("Maria", leilao);

            leilao.RecebeLance(pessoa1, 800);
            leilao.RecebeLance(pessoa2, 900);
            leilao.RecebeLance(pessoa1, 1200);
            leilao.RecebeLance(pessoa2, 1000);

            leilao.TerminaPregao();


            Console.WriteLine(leilao.Ganhador.Valor);
        }
        public void NaoPermitirDoisLancesConsecutivosDoMesmoInteressado()
        {
            //Arranje
            var leilao = new Leilao("Gol quadrado", new MaiorLance());
            var fulano = new Interessada("Fulano", leilao);

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

            //Act
            leilao.RecebeLance(fulano, 1100);
            leilao.TerminaPregao();

            //Assert
            Assert.Equal(leilao.Lances.Count(), 1);
            Assert.Equal(leilao.Ganhador.Valor, 1000);
        }
        public void NaoPermiteNovosLancesDadoLeilaoFinalizado()
        {
            var leilao = new Leilao("Van Gogh");
            var fulano = new Interessada("fulano", leilao);
            var maria  = new Interessada("maria", leilao);

            leilao.IniciaPregao();
            leilao.RecebeLance(fulano, 800);
            leilao.RecebeLance(maria, 900);
            leilao.TerminaPregao();

            leilao.RecebeLance(fulano, 1000);

            var valorEsperado = 2;

            Assert.Equal(valorEsperado, leilao.Lances.Count());
        }
Beispiel #8
0
        private static void LeilaoComVariosLances()
        {
            var leilao = new Leilao("Van Gogh");
            var fulano = new Interessada("Fulano", leilao);
            var maria  = new Interessada("Maria", leilao);

            leilao.RecebeLance(fulano, 800);
            leilao.RecebeLance(maria, 900);
            leilao.RecebeLance(fulano, 1000);
            leilao.RecebeLance(fulano, 800);

            leilao.TerminaPregao();
            var valorObtido   = leilao.Ganhador.Valor;
            var valorEsperado = 1000;

            Verifica(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);
        }
        public void NaoPermiteNovosLancesDadoLeilaoFinalizado(int valorEsperado, double[] ofertas)
        {
            var leilao = new Leilao("Van Gogh");
            var fulano = new Interessada("Fulano", leilao);

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

            leilao.TerminaPregao();

            leilao.RecebeLance(fulano, 1000);
            var valorObtido = leilao.Lances.Count();

            Assert.Equal(valorEsperado, valorObtido);
        }
Beispiel #11
0
        public void NaoAceitaProximoLanceDadoMesmoClienteRealizaouUltimoLance()
        {
            var modalidade = new MaiorValor();
            var leilao     = new Leilao("Van Gogh", modalidade);
            var fulano     = new Interessada("Fulano", leilao);

            leilao.IniciaPregao();

            leilao.RecebeLance(fulano, 800);

            leilao.RecebeLance(fulano, 1000);

            var quantidadeEsperada = 1;
            var quantidadeObtida   = leilao.Lances.Count();

            Assert.Equal(quantidadeEsperada, quantidadeObtida);
        }
Beispiel #12
0
        public void NaoAdicionaLanceDadoQueOPregaoNaoFoiIniciado()
        {
            var leilao = new Leilao("Novo Leilao", new MaiorOferta());
            var fulano = new Interessada("Fulano", leilao);

            var exception = Assert.Throws <InvalidOperationException>(() => leilao.RecebeLance(fulano, 1000));

            Assert.Equal("O pregão não foi iniciado.", exception.Message);
        }
        public void LeilaoComVariosLances()
        {
            var leilao  = new Leilao("Quadro Alejadinho");
            var fulano  = new Interessada("Fulano", leilao);
            var ciclano = new Interessada("Ciclano", leilao);


            leilao.RecebeLance(fulano, 100);
            leilao.RecebeLance(ciclano, 300);
            leilao.RecebeLance(ciclano, 600);
            leilao.RecebeLance(fulano, 500);

            leilao.TerminaPregao();
            var valorEsperado = 600;
            var valorRecebido = leilao.Ganhador.Valor;

            Assert.Equal(valorEsperado, valorRecebido);
        }
        public void NaoAceitaProximoLanceDadoMesmoClienteRealizouUltimoLance()
        {
            //Arranje
            var leilao = new Leilao("Van Gogh");
            var fulano = new Interessada("Fulano", leilao);

            leilao.IniciaPregao();
            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);
        }
Beispiel #15
0
        public void VerificaClienteGanhador()
        {
            MaiorValor modalidade   = new MaiorValor();
            var        leilao       = new Leilao("Gado", modalidade);
            var        interassado1 = new Interessada("Leandro", leilao);
            var        interassado2 = new Interessada("Priscila", leilao);
            var        interassado3 = new Interessada("Marina", leilao);

            leilao.IniciaPregao();

            leilao.RecebeLance(interassado1, 220);
            leilao.RecebeLance(interassado2, 632);
            leilao.RecebeLance(interassado3, 120);

            leilao.TerminaPregao();

            Assert.Equal(leilao.Ganhador.Cliente, interassado2);
        }
Beispiel #16
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);
        }
        public void NaoPermiteNovosLancesDadoLeilaoFinalizado()
        {
            //Arranje - Cenário
            var leilao   = new Leilao("Picasso", new MaiorLance());
            var fulano   = new Interessada("Fulano", leilao);
            var beltrano = new Interessada("Beltrano", leilao);

            leilao.IniciaPregao();
            leilao.RecebeLance(fulano, 800);
            leilao.RecebeLance(beltrano, 900);
            leilao.TerminaPregao();

            //Act - Método sobre teste
            leilao.RecebeLance(fulano, 1000);

            //Assert
            Assert.Equal(900, leilao.Ganhador.Valor);
            Assert.Equal(2, leilao.Lances.Count());
        }
Beispiel #18
0
        private static void LeilaoComVariosLances()
        {
            //Arranjo - cenário de entrada
            var modalidade = new MaiorValor();
            var leilao     = new Leilao("Van Gogh", modalidade);
            var fulano     = new Interessada("Fulano", leilao);
            var maria      = new Interessada("Maria", leilao);

            leilao.RecebeLance(fulano, 800);
            leilao.RecebeLance(maria, 900);
            leilao.RecebeLance(fulano, 1000);
            leilao.RecebeLance(maria, 990);

            // Act - método sobre teste
            leilao.TerminaPregao();

            //Assert resultado esperado
            Console.WriteLine(leilao.Ganhador.Valor);
        }
        public void RetornaMeiorValorComPeloMenosUmLance(
            double valorEsperado,
            double[] ofertas)
        {
            var leilao = new Leilao("Van Gogh");
            var fulano = new Interessada("Fulano", leilao);

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

            leilao.TerminaPregao();

            var valorObtido = leilao.Ganhador.Valor;

            Assert.Equal(valorEsperado, valorObtido);
        }
Beispiel #20
0
        public void NaoPermiteNovosLancesDadoLeilaoFinal()
        {
            var leilao = new Leilao("Van Gogh");

            var fulano = new Interessada("Fulano", leilao);

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

            //Act - método sob teste
            leilao.RecebeLance(fulano, 1000);

            //Assert
            var valorEsperado = 2;
            var valorObtido   = leilao.Lances.Count();

            Assert.Equal(valorEsperado, valorObtido);
        }
Beispiel #21
0
        private static void LeilaoComVariosLances()
        {
            //Arranje - Cenário
            var modalidade = new MaiorValor();
            var leilao     = new Leilao("Van Gogh", modalidade);
            var fulano     = new Interessada("Fulano", leilao);
            var maria      = new Interessada("Maria", leilao);

            leilao.RecebeLance(fulano, 800);
            leilao.RecebeLance(maria, 900);
            leilao.RecebeLance(fulano, 1000);
            leilao.RecebeLance(maria, 990);

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

            //Assert
            Verifica(1000, leilao.Ganhador.Valor);
        }
        public void NaoAceitaProximoLanceDadeMesmoClienteRealizouUltimoLance()
        {
            //Arranje - cenario
            var modalidade = new MaiorValor();
            var leilao     = new Leilao("Van Gogh", modalidade);
            var fulano     = new Interessada("Fulano", leilao);

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

            //Act - metodo sob teste
            leilao.RecebeLance(fulano, 1000);

            //Assert esperado
            var quantidadeEsperada = 1;
            var quantidadeObtida   = leilao.Lances.Count();

            Assert.Equal(quantidadeEsperada, quantidadeObtida);
        }
        public void NaoPermiteNovosLancesDadoLeilaoFinalizado(int qtdeEsperada, double[] ofertas)
        {
            //Arranje - cenário
            var leilao = new Leilao("Van Gogh");
            var fulano = new Interessada("Fulano", leilao);

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

            //Act - método sob teste
            leilao.RecebeLance(fulano, 1000);

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

            Assert.Equal(qtdeEsperada, qtdeObtida);
        }
Beispiel #24
0
        public void NãoAceitaproximoLanceDadoMesmoClienteRealizouUltimoLance()
        {
            // Arrange - cenário
            IModalidadeAvaliacao modalidade = new MaiorValor();
            var leilao = new Leilao("Van Gogh", modalidade);
            var fulano = new Interessada("Fulano", leilao);

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

            // Act - método sob teste
            leilao.RecebeLance(fulano, 1000);

            leilao.TerminaPregao();

            // Assert - verificação com as espectativas
            var valorObtido = leilao.Lances.Count();

            Assert.Equal(1, valorObtido);
        }
Beispiel #25
0
        private static void LeilaoComVariosLances()
        {
            //Arranje = cenario de entrada
            var leilao = new Leilao("Van Gohn");
            var fulano = new Interessada("Fulano", leilao);
            var maria  = new Interessada("maria", leilao);

            leilao.RecebeLance(fulano, 800);
            leilao.RecebeLance(maria, 900);
            leilao.RecebeLance(fulano, 1000);

            //Act metodo sob teste
            leilao.TerminaPregao();

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

            Verifica(valorEsperado, valorObtido);
        }
Beispiel #26
0
        public void LancaExcessaoDadoValorInvalido()
        {
            var leilao      = new Leilao("Novo Leilão", new MaiorOferta());
            var interessado = new Interessada("Fulano", leilao);

            leilao.IniciaPregao();

            var exception = Assert.Throws <ArgumentException>(() => leilao.RecebeLance(interessado, -100));

            Assert.Equal("O valor do lance deve ser maior ou igual a 0.", exception.Message);
        }
Beispiel #27
0
        public void NaoAceitaProximoLanceDadoMesmoClienteRealizouUltimoLance()
        {
            var modalidade = new MaiorValor();
            var leilao     = new Leilao("Estatua de Zeus", modalidade);
            var fulano     = new Interessada("Fulano", leilao);

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

            //Act metodo sob test
            leilao.RecebeLance(fulano, 1000);

            leilao.TerminaPregao();

            //Assert
            var qdtEsperada      = 1;
            var quantidadeObtida = leilao.Lances.Count();

            Assert.Equal(qdtEsperada, quantidadeObtida);
        }
        public void NaoAceitaProximoLanceDadoOMesmoCliente()
        {
            // Arranje - Cenário
            var modalidade = new MaiorValor();
            var leilao     = new Leilao("Bleach", modalidade);
            var pessoa1    = new Interessada("Zaraki", leilao);

            leilao.IniciaPregao();
            leilao.RecebeLance(pessoa1, 500);


            // Act - método sob teste
            leilao.RecebeLance(pessoa1, 1000);

            //Assert
            var qtdEsperada = 1;
            var qtdObtida   = leilao.Lances.Count();

            Assert.Equal(qtdEsperada, qtdObtida);
        }
Beispiel #29
0
        static void Main(string[] args)
        {
            //Arrange
            var leilao = new Leilao("Van Gogh");
            var fulano = new Interessada("Fulano", leilao);
            var maria  = new Interessada("Maria", leilao);

            leilao.RecebeLance(fulano, 800);
            leilao.RecebeLance(maria, 900);
            leilao.RecebeLance(fulano, 1000);
            leilao.RecebeLance(maria, 990);

            //Act
            leilao.TerminaPregao();



            //Assert
            Console.WriteLine($"Lance vencedor: {leilao.Ganhador.Cliente.Nome} valor {leilao.Ganhador.Valor}");
        }
    public void NãoPermiteNovosLancesDadoLeilaoFinalizado()
    {
        //Arrange - cenário do teste
        var leilao = new Leilao("Excalibur");
        var arthur = new Interessada("Arthur", leilao);
        var sonic = new Interessada("Sonic", leilao);

        foreach (float o in ofertas)
        {
            leilao.RecebeLance(sonic, o);
        });