Пример #1
0
        public void NaoDeveDobrarLanceParaUsuarioQueNuncaPropos()
        {
            Usuario usuario = new Usuario("Nome");
            Leilao leilao = new Leilao("Descricao");

            leilao.DobraLance(usuario);

            Assert.AreEqual(0, leilao.Lances.Count);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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));
        }
Пример #4
0
        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);
        }
Пример #5
0
        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);
        }
Пример #6
0
        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);
        }
Пример #8
0
        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);
        }
Пример #9
0
        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);
        }
Пример #10
0
        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);
        }
Пример #11
0
        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);
        }
Пример #12
0
        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);
        }
Пример #13
0
        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);
        }
Пример #14
0
        public ServiceResult ModificarLeilao(Leilao leilao)
        {
            ServiceResult result = new ServiceResult();

            try
            {
                _defaultAdminServico.ModificarLeilao(leilao);
                return(result.SetSuccess());
            }
            catch (Exception ex)
            {
                return(result.SetError(ex.Message));
            }
        }
Пример #15
0
        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);
        }
Пример #16
0
 public bool addLeilao(Leilao leilao)
 {
     try
     {
         leilaoContext.Add(leilao);
         dataBase.SaveChanges();
         return(true);
     }
     catch (Exception e)
     {
         Console.WriteLine(e.Message);
         return(false);
     }
 }
Пример #17
0
        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);
        }
Пример #18
0
        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);
        }
Пример #19
0
        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);
        }
Пример #22
0
        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);
        }
Пример #24
0
        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);
        }
Пример #25
0
        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);
        }
Пример #26
0
        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);
        }
Пример #27
0
        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);
        }
Пример #28
0
        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)
                );
        }
Пример #29
0
        public void Atualizar(Leilao entity)
        {
            try
            {
                _servico.Atualizar(entity);
            }
            catch (Exception ex)
            {
                //_uow.Rollback();
                throw ex;
            }


            //return ValidationResult;
        }
Пример #30
0
        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);
        }
Пример #31
0
        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);
        }
Пример #32
0
        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);
        }
Пример #34
0
        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);
        }