public void RetornaMaiorValorDadoLeilaoComPeloMenosUmLanceE3Clientes(double valorEsperado) { //Arrange IModalidadeLeilao modalidadeLeilao = new ModalidadeOfertaMaiorValor(); var leilao = new Leilao("peça leiloada", modalidadeLeilao); var clienteInteressado1 = new Interessada("cliente interessado 1", leilao); var clienteInteressado2 = new Interessada("cliente interessado 2", leilao); var clienteInteressado3 = new Interessada("cliente interessado 3", leilao); leilao.IniciarPregao(); leilao.ReceberLance(clienteInteressado3, 1400); leilao.ReceberLance(clienteInteressado1, 100); leilao.ReceberLance(clienteInteressado2, 200); leilao.ReceberLance(clienteInteressado1, 1000); leilao.ReceberLance(clienteInteressado2, 950); //Act leilao.TerminarPregao(); //Assert var resultado = leilao.Ganhador.Valor; Assert.Equal(valorEsperado, resultado); Assert.Equal(clienteInteressado3, leilao.Ganhador.Cliente); }
public void RetornarValorSuperiorMaisProximoDadoLeilaoNessaModalidade(double valorDestino, double valorEsperado, double[] lances) { //Arrange IModalidadeLeilao modalidadeLeilao = new ModalidadeOfertaSuperiorMaisProxima(valorDestino); var leilao = new Leilao("peca leiloada", modalidadeLeilao); var clienteInteressado1 = new Interessada("cliente interessado 1", leilao); var clienteInteressado2 = new Interessada("cliente interessado 2", leilao); leilao.IniciarPregao(); for (int i = 0; i < lances.Length; i++) { if (i % 2 == 0) { leilao.ReceberLance(clienteInteressado1, lances[i]); } else { leilao.ReceberLance(clienteInteressado2, lances[i]); } } //Act leilao.TerminarPregao(); //Assert var resultado = leilao.Ganhador.Valor; Assert.Equal(valorEsperado, resultado); }
public void RetornaValorSuperiorMaisProximoDadoLeilaoNessaModalidade(double valorDestino, double valorEsperado, double[] ofertas) { // Arrange - Given // Dado o leilão iniciado coma modalidade de avaliação "valor superior mais próximo", valor de destino 1200 e lances de 800, 1150, 1400 e 1250 IModalidadeAvaliacao modalidade = new OfertaSuperiorMaisProxima(valorDestino); 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++) { if (i % 2 == 0) { leilao.ReceberLance(fulano, ofertas[i]); } else { leilao.ReceberLance(maria, ofertas[i]); } } // Act - Then // Quando o pregão termina leilao.TerminarPregao(); // Assert - When // Então o ganhador será quem fez a oferta 1250 Assert.Equal(valorEsperado, leilao.Ganhador.Valor); }
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 RetornaMaiorValorDadoLeilaoComPeloMenosUmLance(double valorEsperado, double[] lances) { //Arrange IModalidadeLeilao modalidadeLeilao = new ModalidadeOfertaMaiorValor(); var leilao = new Leilao("peça leiloada", modalidadeLeilao); var clienteInteressado1 = new Interessada("cliente 1", leilao); var clienteInteressado2 = new Interessada("cliente 2", leilao); leilao.IniciarPregao(); for (int i = 0; i < lances.Length; i++) { if (i % 2 == 0) { leilao.ReceberLance(clienteInteressado1, lances[i]); } else { leilao.ReceberLance(clienteInteressado2, lances[i]); } } //Act leilao.TerminarPregao(); //Assert var resultado = leilao.Ganhador.Valor; Assert.Equal(valorEsperado, resultado); }
public void NaoPermiteNovosLancesDadoLeilaoFinalizado(int quantidadeEsperada, double[] ofertas) { // Arrange - Given // Dado leilão finalizado com x lances 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); } } leilao.TerminarPregao(); // Act - Then // Quando o leilão receber nova oferta de lance leilao.ReceberLance(fulano, 1000); // Assert - When // Então a quantidade de lances continua sendo x var quantidadeObtida = leilao.Lances.Count(); Assert.Equal(quantidadeEsperada, quantidadeObtida); }
public void RotornaInvalidOperationExceptionDadoPregaoNaoIniciado() { // Arrange Leilao leilao = new Leilao("I Leilão Bothers Plus", 0, new Bem("Van Gogh", "Arte")); // Assert Assert.Throws<InvalidOperationException>( // Act () => leilao.TerminarPregao() ); }
public void RetornaZeroDadoLeilaoSemLance() { //Arrange var leilao = new Leilao("Van gog"); //Act leilao.TerminarPregao(); //Assert double expected = 0; double result = leilao.Ganhador.Valor; Assert.Equal(expected, result); }
private void RetornaZeroDadoUmLeilaoSemLance() { // Arrange (Preparação das variáveis necessárias) Leilao leilao = new Leilao("I Leilão Bothers Plus", 0, new Bem("Van Gogh", "Arte")); leilao.IniciarPregao(); // Act (Efetivamente a função que desejo testar) leilao.TerminarPregao(); // Assert (Confirmação dos dados) var valorObtido = leilao.Vencedor.Valor; Assert.Equal(0, valorObtido); }
public void LancaExceptionDadoPregaoNaoIniciado() { //Arrange IModalidadeLeilao modalidadeLeilao = new ModalidadeOfertaMaiorValor(); var leilao = new Leilao("peça leiloada", modalidadeLeilao); //Assert var excecaoCapturada = Assert.Throws <InvalidOperationException>( //Act () => leilao.TerminarPregao() ); //Assert var esperado = "Não é possível terminar o leilão sem ter iniciado."; Assert.Equal(esperado, excecaoCapturada.Message); }
public void RetornaZeroDadoLeilaoSemLances() { //Arrange IModalidadeLeilao modalidadeLeilao = new ModalidadeOfertaMaiorValor(); var leilao = new Leilao("peça leiloada", modalidadeLeilao); leilao.IniciarPregao(); //Act leilao.TerminarPregao(); //Assert var esperado = 0; var resultado = leilao.Ganhador.Valor; Assert.Equal(esperado, resultado); }
public void LancaInvalidOperationExceptionDadoPregaoNaoIniciado() { // Arrange - Given // Dado o leilão var modalidade = new MaiorValor(); var leilao = new Leilao("Van Gogh", modalidade); // Assert var exceptionObtida = Assert.Throws <InvalidOperationException>( // Act - Then // Quando o pregão termina () => leilao.TerminarPregao() ); var msgEsperada = "Não é possível terminar o pregão sem que ele tenha começado.Para isso, utilize o método IniciarPregao()"; Assert.Equal(msgEsperada, exceptionObtida.Message); }
private void RetornaValorSuperiorMaisProx(double valorEsperado, double valorBase, double[] ofertas) { // Arrange (Preparação das variáveis necessárias) Leilao leilao = new Leilao("I Leilão Bothers Plus", valorBase, new Bem("Van Gogh", "Arte")); Cliente samuel = new Cliente("Samuel Camilo", leilao); leilao.IniciarPregao(); foreach(var oferta in ofertas) leilao.RecebeLance(samuel, oferta); // Act (Efetivamente a função que desejo testar) leilao.TerminarPregao(); // Assert (Confirmação dos dados) var valorObtido = leilao.Vencedor.Valor; Assert.Equal(valorEsperado, valorObtido); }
public void RetornarZeroDadoLeilaoSemLances() { // Arrange - Given // Dado o leilão sem nenhum lance var modalidade = new MaiorValor(); var leilao = new Leilao("Van Gogh", modalidade); leilao.IniciarPregao(); // Act - Then // Quando o pregão termina leilao.TerminarPregao(); // Assert - When // Então o valor do lance ganhador é zero var valorEsperado = 0; var valorObtido = leilao.Ganhador.Valor; Assert.Equal(valorEsperado, valorObtido); }
public void RetornaMaiorValorDoLeilaoComPeloMenosUmLance(double valoresperado, double[] ofertas) { //Arrange var leilao = new Leilao("Van gog"); var flano = new Interessada("Flano", leilao); foreach (var valor in ofertas) { leilao.RecebeLance(flano, valor); } //Act leilao.TerminarPregao(); //Assert double expected = valoresperado; double result = leilao.Ganhador.Valor; Assert.Equal(expected, result); }
private void NaoPermiteNovosLancesDadoLeilaoFinalizado() { // Arrange (Preparação das variáveis necessárias) Leilao leilao = new Leilao("I Leilão Bothers Plus", 0, new Bem("Van Gogh", "Arte")); Cliente samuel = new Cliente("Samuel", leilao); leilao.IniciarPregao(); leilao.RecebeLance(samuel, 100); leilao.RecebeLance(samuel, 1000); leilao.RecebeLance(samuel, 75); leilao.RecebeLance(samuel, 30); // Act (Efetivamente a função que desejo testar) leilao.TerminarPregao(); leilao.RecebeLance(samuel, 75); leilao.RecebeLance(samuel, 30); // Assert (Confirmação dos dados) var valorObtido = leilao.Lances.Count(); Assert.Equal(4, valorObtido); }
public void NaoPermiteNovosLancesDadoLeilaoFinalizado() { //Arrange IModalidadeLeilao modalidadeLeilao = new ModalidadeOfertaMaiorValor(); var leilao = new Leilao("peça leiloada", modalidadeLeilao); var clienteInteressado1 = new Interessada("pessoa interessada 1", leilao); var clienteInteressado2 = new Interessada("pessoa interessada 2", leilao); leilao.IniciarPregao(); leilao.ReceberLance(clienteInteressado1, 100); leilao.ReceberLance(clienteInteressado2, 200); leilao.TerminarPregao(); //Act leilao.ReceberLance(clienteInteressado1, 300); //Assert var valorObtido = leilao.Lances.Count(); Assert.Equal(2, valorObtido); }