public void RetornarMaiorValorDadoLeilaoComPeloMenosUmLance(double valorEsperado, double[] ofertas) { // Arrange - Given // Dado o leilão com lances sem ordem de valor var modalidade = new MaiorValor(); var leilao = new Leilao("Van Gogh", modalidade); var fulano = new Cliente("Fulano", leilao); var maria = new Cliente("Maria", leilao); leilao.IniciarPregao(); for (int i = 0; i < ofertas.Length; i++) { var valor = ofertas[i]; if (i % 2 == 0) { leilao.ReceberLance(fulano, valor); } else { leilao.ReceberLance(maria, valor); } } // Act - Then // Quando o pregão termina leilao.TerminarPregao(); // Assert - When // Então o valor esperado é o maior valor var valorObtido = leilao.Ganhador.Valor; Assert.Equal(valorEsperado, valorObtido); }
public void LancaInvalidOperationExceptionDadoLeilaoNaoInicializado() { var modalidade = new MaiorValor(); var leilao = new Leilao("Estatua de Zeus", modalidade); Assert.Throws <System.InvalidOperationException>( () => leilao.TerminaPregao() ); //like the try->catch //try //{ // //Act // leilao.TerminaPregao(); // Assert.True(false); //} //catch (System.Exception e) //{ // //Assert // Assert.IsType<System.InvalidOperationException>(e); //} }
public void LancaInvalidOperationExceptionDadoPregaoNaoIniciado() { // Arranje - Cenário var modalidade = new MaiorValor(); var leilao = new Leilao("Bleach", modalidade); // Forma Deselegante //try //{ // // Act - método sob teste // leilao.TerminaPregao(); // //Se a linha acima der certo, a próxima falhará; // Assert.True(false); //} //catch (System.Exception e) //{ // //Assert // Assert.IsType<System.InvalidOperationException>(e); //} // Forma Elegante var excecaoObtida = Assert.Throws <System.InvalidOperationException>(() => leilao.TerminaPregao()); var msgEsperada = "Não é possível terminar o pregão sem ele ter começado. Use o método IniciaPregao() para corrigir"; Assert.Equal(msgEsperada, excecaoObtida.Message); }
public void RetonaMaiorValorDadoLeilaoComPeloMenosUmLance(double valorEsperado, double[] ofertas) { // A - Arranje - cenário var modalidade = new MaiorValor(); var leilao = new Leilao("Van Gogh", modalidade); var pessoa1 = new Interessada("Zaraki", leilao); var pessoa2 = new Interessada("Kurosaki", leilao); leilao.IniciaPregao(); for (int i = 0; i < ofertas.Length; i++) { var valor = ofertas[i]; if ((i % 2) == 0) { leilao.RecebeLance(pessoa1, valor); } else { leilao.RecebeLance(pessoa2, valor); } } // Act - método sob teste // Quando o pregão terminar leilao.TerminaPregao(); //Assert // O ganhador deverá ser o cliente com maior valor var valorObtido = leilao.Ganhador.Valor; Assert.Equal(valorEsperado, valorObtido); }
public void RetornaMaiorValorDadoLeilaoComPeloMenosUmLance(double valorEsperado, double[] ofertas) { //arranjo - cenario var modalidade = new MaiorValor(); var leilao = new Leilao("Vanh Gogh", modalidade); var fulano = new Interessada("Fulano", leilao); var maria = new Interessada("Maria", leilao); leilao.IniciaPregao(); for (int i = 0; i < ofertas.Length; i++) { if (i % 2 == 0) { leilao.RecebeLance(fulano, ofertas[i]); } else { leilao.RecebeLance(maria, ofertas[i]); } } //act - execuчуo sob teste leilao.TerminaPregao(); //assert Assert.Equal(valorEsperado, leilao.Ganhador.Valor); }
[InlineData(800, new double[] { 800 })] // Passando Dados public void RetornaMaiorValorDadoLeilaoComPeloMenosUmLance(double valoresperado, double[] ofertas) { //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.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); } } // Act - método sobre teste leilao.TerminaPregao(); //Assert resultado esperado var valorObtifo = leilao.Ganhador.Valor; Assert.Equal(valoresperado, valorObtifo); }
public void NaoPermiteNovosLancesDadoLeilaoFinalizado(int quantidadeEsperada, double [] ofertas) { //Dado leilão finalizado com X lances var modalidade = new MaiorValor(); 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(); //Quando leilão recebe nova oferta de lance leilao.RecebeLance(fulano, 1000); //Então a quantidade de lances continua sendo X var quantidadeObtida = leilao.Lances.Count(); Assert.Equal(quantidadeEsperada, quantidadeObtida); }
private static void LeilaoComVariosLances() { //********* TRIPLE A ********** //Arranje - cenário //GIVEN 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 //WHEN leilao.TerminaPregao(); //Assert //THEN var valorEsperado = 1000; var valorObtido = leilao.Ganhador.Valor; Verifica(valorEsperado, valorObtido); }
public void NaoPermiteNovosLancesDadosLeilaoFinalizado( double valorEsperado, double[] lances) { //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); var i = 0; leilao.IniciaPregao(); for (; i < valorEsperado; i++) { var ofertante = i % 2 == 0 ? fulano : maria; leilao.RecebeLance(ofertante, lances[i]); } leilao.TerminaPregao(); //Act - método sob teste for (; i < lances.Length; i++) { var ofertante = i % 2 == 0 ? fulano : maria; leilao.RecebeLance(ofertante, lances[i]); } //Assert - resultado var numeroDeLances = leilao.Lances.Count(); Assert.Equal(valorEsperado, numeroDeLances); }
public void NaoPermiteNovosLancesDadoLeilaoFinalizado(int qtdEsperada, double[] ofertas) { MaiorValor modalidade = new MaiorValor(); // Arranje - cenário var leilao = new Leilao("Bicicleta", modalidade); leilao.IniciaPregao(); var interassado1 = new Interessada("Leandro", leilao); var interassado2 = new Interessada("Priscila", leilao); foreach (var oferta in ofertas) { leilao.RecebeLance(interassado1, oferta); } leilao.TerminaPregao(); // Act - método sob teste leilao.RecebeLance(interassado2, 532); var quantidadeDeLancesEsperado = qtdEsperada; Assert.Equal(leilao.Lances.Count(), quantidadeDeLancesEsperado); Assert.Equal(100, leilao.Lances.First().Valor); }
public void NaoPermiteNovosLancesDadoLeilaoFinalizado(int valorEsperada, double[] ofertas) { //arranjo - cenario var modalidade = new MaiorValor(); var leilao = new Leilao("Vanh Gogh", modalidade); var fulano = new Interessada("Fulano", leilao); var maria = new Interessada("Maria", leilao); leilao.IniciaPregao(); for (int i = 0; i < ofertas.Length; i++) { if (i % 2 == 0) { leilao.RecebeLance(fulano, ofertas[i]); } else { leilao.RecebeLance(maria, ofertas[i]); } } leilao.TerminaPregao(); //act - execução sob teste leilao.RecebeLance(fulano, 1100); //assert Assert.Equal(valorEsperada, leilao.Lances.Count()); }
public void NaoPermiteNovosLancesDadoLeilaoFinalizado(int qtdeEsperada, double[] ofertas) { // Arranje - Cenário // Dado leilão apenas com 1 lance var modalidade = new MaiorValor(); var leilao = new Leilao("Bleach", modalidade); var pessoa1 = new Interessada("Zaraki", leilao); var pessoa2 = new Interessada("Kurosaki", leilao); leilao.IniciaPregao(); for (int i = 0; i < ofertas.Length; i++) { var valor = ofertas[i]; if ((i % 2) == 0) { leilao.RecebeLance(pessoa1, valor); } else { leilao.RecebeLance(pessoa2, valor); } } leilao.TerminaPregao(); // Act - método sob teste // Quando o leilão acabar leilao.RecebeLance(pessoa1, 1000); //Assert // Então o valor esperado é o maior valor var qtdeObtida = leilao.Lances.Count(); Assert.Equal(qtdeEsperada, qtdeObtida); }
public void LancaInvalidOperationDadoPregaoNaoIniciado() { //Arraje - cenário var modalidade = new MaiorValor(); var leilao = new Leilao("Van Gogh", modalidade); //Testando exception var excecaoObitida = Assert.Throws <System.InvalidOperationException>( () => leilao.TerminaPregao() ); var msgEsperada = "Não é possível terminar o pregão sem que ele tenha começado. Utilize o método IniciaPregão()"; Assert.Equal(msgEsperada, excecaoObitida.Message); //try //{ // //Act - método sob teste // leilao.TerminaPregao(); // Assert.True(false); //} //catch (System.Exception ex) //{ // //Assert // Assert.IsType<System.InvalidOperationException>(ex); //} }
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); }
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); }
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); }
private static void LeilaoComVariosValores() { //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, 1100); //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!"); } }
public void LeilaoQueRetornOMaiorLance(double valorEsperado, double[] ofertas) { //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.IniciaPregao(); for (int i = 0; i < ofertas.Length; i++) { double 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); }
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); }
private static void LeilaoComVariosLances() { //Arranje - cenário IModalidadeAvaliacao 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 (esta falho, pois precisa de humano ver e verificar se está ok os dados) /*Console.WriteLine($"Leilão finalizado, Ganhador: " + * $"{leilao.Ganhador.Cliente.Nome} " + * $" Valor: { leilao.Ganhador.Valor}");*/ //Assert var valorEsperado = 1000; var valorObtido = leilao.Ganhador.Valor; Verifica(valorEsperado, valorObtido); }
public void RetornaMaiorValorDadoLeilaoComPelomenosUmLance(double valorEsperado, double[] ofertas) { //Arraje - 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.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); } } //Act - método sob teste leilao.TerminaPregao(); //Assert - espectativa do teste var valorObitido = leilao.Ganhador.Valor; Assert.Equal(valorEsperado, valorObitido); //Console.WriteLine(leilao.Ganhador.Valor); }
public void NaoPermiteNovosLancesDadoLeilaoFinalizado(int qtdeEsperada, double[] ofertas) { //Arraje - 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.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(); //Act - método sob teste leilao.RecebeLance(fulano, 1000); //Assert var qtdeObtida = leilao.Lances.Count(); Assert.Equal(qtdeEsperada, qtdeObtida); }
public void NaoPermiteNovosLancesDadoLeilaoFinalizado(int qtd, double[] ofertas) { var modalidade = new MaiorValor(); var leilao = new Leilao("Estatua de Zeus", 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); } leilao.RecebeLance(maria, valor); } //foreach (var valor in ofertas) //{ // leilao.RecebeLance(fulano, valor); //} leilao.TerminaPregao(); //Act metodo sob test leilao.RecebeLance(fulano, 1000); //Assert var quantidadeObtida = leilao.Lances.Count(); Assert.Equal(qtd, quantidadeObtida); }
public void RetornaMaiorValorDadoleilaoComPeloMenosUmLance( double valorEsperado, double[] ofertas) { var modalidade = new MaiorValor(); //Arrange - cenário 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); } } //código omitido }
[InlineData(new double[] { 800, 900, 990, 1000 }, 1000)] //Cenario 3 - leilao com varios lances, ordenados por valor public void RetornaMaiorValorDadoLeilaoComPeloMenosUmLance(double [] lances, double valorEsperado) { //Arranje - cenário IModalidadeAvaliacao modalidade = new MaiorValor(); var leilao = new Leilao("Van Gogh", modalidade); leilao.IniciaPregao(); var fulano = new Interessada("Fulano", leilao); var maria = new Interessada("Maria", leilao); for (int i = 0; i < lances.Length; i++) { var valor = lances[i]; if ((i % 2) == 0) { leilao.RecebeLance(fulano, valor); } else { leilao.RecebeLance(maria, valor); } } //Act - método sob teste leilao.TerminaPregao(); //Assert - valor esperado var valorObtido = leilao.Ganhador.Valor;//como não utizamos a pessoa no teste não passado Assert.Equal(valorEsperado, valorObtido); }
public void NaoPermiteNovosLancesDadoLeilaoFinalizado(int quantidadeEsperada, double[] ofertas) { //Arrange IModalidadeAvaliacao modalidade = new MaiorValor(); var leilao = new Leilao("Van Gogh", modalidade); var jose = new Interessada("José", 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(jose, valor); } else { leilao.RecebeLance(maria, valor); } } leilao.TerminaPregao(); //Action leilao.RecebeLance(jose, 1000); //Assert Assert.Equal(quantidadeEsperada, leilao.Lances.Count()); }
public void RetornaMaiorValorDadoLeilaoComPeloMenosUmLance(double valorEsperado, double[] ofertas) { //Arrange IModalidadeAvaliacao modalidade = new MaiorValor(); var leilao = new Leilao("Van Gogh", modalidade); var jose = new Interessada("José", 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(jose, valor); } else { leilao.RecebeLance(maria, valor); } } //Action leilao.TerminaPregao(); //Assert Assert.Equal(valorEsperado, leilao.Ganhador.Valor); }
public void LancaInvalidOperationExceptionDadoPregaoNaoIniciado() { //arranjo - cenario var modalidade = new MaiorValor(); var leilao = new Leilao("Vanh Gogh", modalidade); //assert Assert.Throws <InvalidOperationException>( () => //Act - metodo sob teste leilao.TerminaPregao() ); }
public void TerminaPregao_LancaInvalidOperationException_QuandoLeilaoNaoIniciado() { // Arrange var modalidade = new MaiorValor(); var leilao = new Leilao("Pintura do Van Gogh", modalidade); // Assert var exception = Assert.Throws <InvalidOperationException>(() => { leilao.Terminar(); }); const string valorEsperado = "Não é possível terminar o leilão sem antes iniciá-lo."; Assert.Equal(valorEsperado, exception.Message); }
public void LancaInvalidOperationExceptionDadosPregaoNaoIniciado() { //Arrange IModalidadeAvaliacao modalidade = new MaiorValor(); var leilao = new Leilao("Van Gogh", modalidade); //Assert var excecaoObtida = Assert.Throws <InvalidOperationException>( //Action () => leilao.TerminaPregao() ); Assert.Equal("Pregão não iniciado", excecaoObtida.Message); }