public void NaoDeveDobrarLanceParaUsuarioQueNuncaPropos() { Usuario usuario = new Usuario("Nome"); Leilao leilao = new Leilao("Descricao"); leilao.DobraLance(usuario); Assert.AreEqual(0, leilao.Lances.Count); }
public void NaoDeveAceitar2LancesEmSequenciaDadoPeloMesmoUsuario() { Usuario usuario = new Usuario("Nome"); Leilao leilao = new Leilao("Descricao"); leilao.Propoe(new Lance(usuario, 1)); leilao.Propoe(new Lance(usuario, 2)); Assert.AreEqual(1, leilao.Lances.Count); Assert.AreEqual(1, leilao.Lances[0].Valor, 0.00001); }
public async Task <Leilao> InsertAsync(Leilao leilao) { var usuario = await _usuarioRepository.GetByIdAsync(leilao.LeiloadoPorId); if (usuario.Id != leilao.LeiloadoPorId) { throw new ArgumentException("Usuário informado é inválido!"); } string leilaoId = await _leilaoRepository.InsertAsync(leilao); return(await _leilaoRepository.GetByIdAsync(leilaoId)); }
public void NaoAceitaLancesConcecutivosDadoMesmoCliente() { var leilao = new Leilao("Novo Leilao", new MaiorOferta()); var fulano = new Interessada("Fulano", leilao); leilao.IniciaPregao(); leilao.RecebeLance(fulano, 1000); leilao.RecebeLance(fulano, 2000); leilao.TerminaPregao(); Assert.True(leilao.Lances.Count() == 1); }
public void DeveDobrarOLanceAnteriorDeUmUsuario() { Usuario usuario1 = new Usuario("Nome1"); Usuario usuario2 = new Usuario("Nome2"); Leilao leilao = new Leilao("Descricao"); leilao.Propoe(new Lance(usuario1, 1)); leilao.Propoe(new Lance(usuario2, 3)); leilao.DobraLance(usuario1); int contagem = leilao.Lances.Count; Assert.AreEqual(3, contagem); Assert.AreEqual(2, leilao.Lances[contagem - 1].Valor); }
public ServiceResult CadastrarLeilao(Leilao leilao) { ServiceResult result = new ServiceResult(); try { _leilaoRepositorio.Incluir(leilao); return(result.SetSuccess()); } catch (Exception ex) { return(result.SetError(ex.Message)); } }
public void DeveReceberUmLance() { Leilao leilao = new Leilao("Motocicleta 150 cc"); var usuario = new Usuario("Cesar"); //validada se nenhum lance foi dado. Assert.AreEqual(0, leilao.Lances.Count); leilao.Propoe(new Lance(usuario, 1000d)); //validade o teste com quantidade de lance e o valor que deve ser encontrado no lance único. Assert.AreEqual(1, leilao.Lances.Count); Assert.AreEqual(1000d, leilao.Lances[0].ValorLance); }
public void RetornaZeroDadoLeilaoSemLance() { //arrange var leilao = new Leilao("Van Gogh"); //act leilao.TerminaPregao(); //assert var valorEsperado = 0; var valorObtido = leilao.Ganhador.Valor; Assert.Equal(valorEsperado, valorObtido); }
public void DeveEntenderLeilaoComValoresDescrescentes() { Leilao leilao = CriadorLeilao.Para("PlayStation 3") .Lance(u1, 400) .Lance(u2, 300) .Lance(u1, 200) .Lance(u2, 100) .Cria(); avaliador.Avalia(leilao); Assert.AreEqual(400, avaliador.MaiorDeTodos, 0.0001); Assert.AreEqual(100, avaliador.MenorDeTodos, 0.0001); }
public void DeveDevolverApenasDoisLances() { Leilao leilao = CriadorLeilao.Para("PlayStation 3") .Lance(u1, 400) .Lance(u2, 500) .Cria(); avaliador.Avalia(leilao); var lista = avaliador.TresMaiores; Assert.AreEqual(2, avaliador.TresMaiores.Count); Assert.AreEqual(500, lista[0].Valor, 0.0001); Assert.AreEqual(400, lista[1].Valor, 0.0001); }
public void DeveTestarLanceDobrado() { var jobs = new Usuario("Steve Jobs"); var waz = new Usuario("Steve Wozniak"); Leilao leilao = new Leilao("Macbook Pro 15"); leilao.Propoe(new Lance(jobs, 2000)); leilao.Propoe(new Lance(waz, 3000)); leilao.DobrarLance(jobs); Assert.AreEqual(3, leilao.Lances.Count); Assert.AreEqual(4000, leilao.Lances[2].Valor); }
public void DeveDevolverUmaListaVazia() { Usuario joao = new Usuario("João"); Usuario maria = new Usuario("Maria"); Leilao leilao = new Leilao("Playstation 3 Novo"); Avaliador leiloeiro = new Avaliador(); leiloeiro.Avalia(leilao); IList <Lance> maiores = leiloeiro.TresMaioresLances; Assert.AreEqual(0, maiores.Count); }
static void Main() { 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.TerminaPregao(); Console.WriteLine(leilao.Ganhador.Valor); }
public ServiceResult ModificarLeilao(Leilao leilao) { ServiceResult result = new ServiceResult(); try { _defaultAdminServico.ModificarLeilao(leilao); return(result.SetSuccess()); } catch (Exception ex) { return(result.SetError(ex.Message)); } }
public void RetornaZeroDadoLeilaoSemLances() { MaiorValor modalidade = new MaiorValor(); var leilao = new Leilao("Bicicleta", modalidade); var interassado1 = new Interessada("Leandro", leilao); var interassado2 = new Interessada("Priscila", leilao); var interassado3 = new Interessada("Marina", leilao); leilao.IniciaPregao(); leilao.TerminaPregao(); var valorEsperado = 0; Assert.Equal(leilao.Ganhador.Valor, valorEsperado); }
public bool addLeilao(Leilao leilao) { try { leilaoContext.Add(leilao); dataBase.SaveChanges(); return(true); } catch (Exception e) { Console.WriteLine(e.Message); return(false); } }
private static void LeilaoComApenasUmLance() { IModalidadeAvaliacao modalidade = new MaiorLance(); var leilao = new Leilao("Van Gogh", modalidade); var fulano = new Interessada("Fulano", leilao); leilao.RecebeLance(fulano, 800); leilao.TerminaPregao(); var valorEsperado = 800; var valorObtido = leilao.Ganhador.Valor; Verifica(valorEsperado, valorObtido); }
public void LancaInvalidOperationExceptionDadoPregaoNaoIniciado() { //Arranje - cenário de entrada var modalidade = new MaiorValor(); var leilao = new Leilao("Van Gogh", modalidade); //assert var excecaoObtida = Assert.Throws <InvalidOperationException>( //act - método sob teste () => leilao.TerminaPregao() ); var msgEsperada = "Não é possível terminar o pregão sem que le tenha comçado. Para isso utiliza o método iniciaPregao"; Assert.Equal(msgEsperada, excecaoObtida.Message); }
public void DeveEntenderLeilaoComApenasUmLance() { Usuario joao = new Usuario("Joao"); Leilao leilao = new Leilao("Playstation 3 Novo"); leilao.Propoe(new Lance(joao, 1000.0)); Avaliador leiloeiro = new Avaliador(); leiloeiro.Avalia(leilao); Assert.AreEqual(1000, leiloeiro.MaiorLance, 0.0001); Assert.AreEqual(1000, leiloeiro.MenorLance, 0.0001); }
public void NaoPodeTerDoisLancesSeguidosDoMesmoUSuario() { var leilao = new Leilao("Yamaha Fazer 250"); var tiao = new Usuario("Sebastiao"); var tiago = new Usuario("Tiago"); leilao.Propoe(new Lance(tiao, 1500)); leilao.Propoe(new Lance(tiago, 2000)); leilao.Propoe(new Lance(tiago, 3000)); Assert.AreEqual(1, leilao.Lances.Count); Assert.AreEqual(3000, leilao.Lances[leilao.Lances.Count - 1].ValorLance); }
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); }
public void LeilaoComApenasUmLance() { var leilao = new Leilao("Van Gogh"); var fulano = new Interessada("Fulano", leilao); leilao.RecebeLance(fulano, 800); leilao.TerminaPregao(); var valorObtido = leilao.Ganhador.Valor; var valorEsperado = 800; Assert.Equal(valorEsperado, valorObtido); }
public void LancaInvalidOperationExceptionDadoPregaoNaoIniciado() { //Arranje - cenário var modalidade = new MaiorValor(); var leilao = new Leilao("Van Gogh", modalidade); var excecaoObtida = Assert.Throws <System.InvalidOperationException>( //Act - método sob teste () => leilao.TerminaPregao() ); var msgEsperada = "Não é possivel terminar o pregão sem que ele tenha começado. Para isso, utilize o método IniciarPregao()"; Assert.Equal(msgEsperada, excecaoObtida.Message); }
public void RetornaZeroDadoLeilaoSemLances() { //Given IModalidadeAvaliacao modalidade = new OfertaMaiorValor(); Leilao leilao = new Leilao("Barney", modalidade); leilao.IniciaPregao(); //When leilao.TerminaPregao(); //Then Assert.Equal(0, leilao.Ganhador.Valor); }
public void RetornaZeroDadoLeilaoSemLances() { // Arrange - Configura Cenário var leilao = new Leilao("Van Gogh"); // Act - Método sob teste leilao.TerminaPregao(); // Assert var valorEsperado = 0; var valorObtido = leilao.Ganhador.Valor; Assert.Equal(valorEsperado, valorObtido); }
public void LeilaoSemLances() { var modalidade = new MaiorValor(); var leilao = new Leilao("Estatua de Zeus", modalidade); leilao.IniciaPregao(); //Act leilao.TerminaPregao(); //Assert var valorEsperado = 0; var valObtido = (decimal)leilao.Ganhador.Valor; Assert.Equal(valorEsperado, valObtido); }
public void NaoPermiteLanceDadoQuePregaoNaoFoiIniciado(int qtdEsperada, double[] ofertas) { var modalidade = new MaiorValor(); var leilao = new Leilao("Van Gogh", modalidade); var fulano = new Interessada("Fulano de Tal", leilao); foreach (var valor in ofertas) { leilao.RecebeLance(fulano, valor); } var qtdObtida = leilao.Lances.Count(); Assert.Equal(qtdEsperada, qtdObtida); }
public void LancaArgumentExceptionDadoLanceValorNegativo() { IModalidadeAvaliacao modalidade = new MaiorValor(); var leilao = new Leilao("Van Gogh", modalidade); var fulano = new Interessada("Fulano", leilao); //Arranje var valorNegativo = -100; //Assert Assert.Throws <ArgumentException>( //Act () => new Lance(fulano, valorNegativo) ); }
public void Atualizar(Leilao entity) { try { _servico.Atualizar(entity); } catch (Exception ex) { //_uow.Rollback(); throw ex; } //return ValidationResult; }
public void LancaInvalidOperationExceptionDadoPregaoNaoIniciado() { //Arrange - cenários var modalidade = new MaiorValor(); var leilao = new Leilao("Van Gogh", modalidade); //Assert var excecaoObtida = Assert.Throws <System.InvalidOperationException>( //Act - método sob teste () => leilao.TerminaPregao() ); var msgEsperada = "Não é possível terminar o leilao sem antes iniciá-lo. Para isso, use o método IniciaPrega()"; Assert.Equal(msgEsperada, excecaoObtida.Message); }
public void FuncionaCasoOLeilaoPossuaApenasUmLance() { Usuario fulano = new Usuario("Fulano"); Leilao leilao = new Leilao("Playstation 4 Velho"); leilao.Propoe(new Lance(fulano, 200.0)); leiloeiro.Avalia(leilao); var menores = leiloeiro.MenorLance; var maiores = leiloeiro.MaiorLance; Assert.AreEqual(200, menores); Assert.AreEqual(200, maiores); }
public void NaoAceitaProximoLanceDadoMesmoClienteRealizouUltimoLance() { var modalidade = new MaiorValor(); var leilao = new Leilao("Van Gough", modalidade); var fulano = new Interessada("Fulano", leilao); leilao.IniciaPregao(); leilao.RecebeLance(fulano, 400); leilao.RecebeLance(fulano, 1000); var qtdeEsperado = 1; var qtdeObtida = leilao.Lances.Count(); Assert.Equal(qtdeEsperado, qtdeObtida); }
public void RetornaZeroDadoLeilaoSemLances() { //Arranje - cenário var leilao = new Leilao("Van Gogh"); //modalidade padrão maiorValor() leilao.IniciaPregao(); //Act - método sob teste leilao.TerminaPregao(); //Assert var valorEsperado = 0; var valorObtido = leilao.Ganhador.Valor; Assert.Equal(valorEsperado, valorObtido); }
public void UmMesmoUsuarioNaoPodeDarMaisDoQue5LancesNoMesmoLeilao() { Usuario usuario1 = new Usuario("Nome1"); Usuario usuario2 = new Usuario("Nome2"); Leilao leilao = new Leilao("Descricao"); leilao.Propoe(new Lance(usuario1, 1)); leilao.Propoe(new Lance(usuario2, 2)); leilao.Propoe(new Lance(usuario1, 2)); leilao.Propoe(new Lance(usuario2, 3)); leilao.Propoe(new Lance(usuario1, 4)); leilao.Propoe(new Lance(usuario2, 5)); leilao.Propoe(new Lance(usuario1, 6)); leilao.Propoe(new Lance(usuario2, 7)); leilao.Propoe(new Lance(usuario1, 8)); leilao.Propoe(new Lance(usuario2, 9)); leilao.Propoe(new Lance(usuario1, 10)); int contagem = leilao.Lances.Count; Assert.AreEqual(10, contagem); Assert.AreEqual(9, leilao.Lances[contagem - 1].Valor, 0.00001); }