Beispiel #1
0
        public void LancaInvalidOperationExceptionDadoPregaoNaoIniciado()
        {
            //Given
            IModalidadeAvaliacao modalidade = new OfertaMaiorValor();
            Leilao leilao = new Leilao("Barney", modalidade);

            // * could be just this \/
            //Assert.Throws<System.InvalidOperationException>(() =>
            // leilao.TerminaPregao());

            // * or
            // * checking someting inside of the exception
            // * like this \/
            var excecaoObtida = Assert.Throws <System.InvalidOperationException>(() =>
                                                                                 leilao.TerminaPregao());

            var msgEsperada = "Não é possivel terminar pregao sem ter sido iniciado.";

            Assert.Equal(msgEsperada, excecaoObtida.Message);


            // * or even checkin the Exception as returned *TYPE*
            // try
            // {
            //  //When
            //  leilao.TerminaPregao();

            //  Assert.True(false);
            // }
            // catch (System.Exception ex)
            // {
            //  //Then
            //  Assert.IsType<System.InvalidOperationException>(ex);
            // }
        }
Beispiel #2
0
        public void NaoPermiteNovosLancesDadoLeilaoFinalizado(
            int qtdEsperada, double[] ofertas)
        {
            //Given
            IModalidadeAvaliacao modalidade = new OfertaMaiorValor();
            var leilao  = new Leilao("Van Gogh", modalidade);
            var fulano  = new Interessada("Fulano", leilao);
            var ciclano = new Interessada("Ciclano", leilao);

            leilao.IniciaPregao();

            for (int i = 0; i < ofertas.Length; i++)
            {
                var oferta = ofertas[i];

                if (i % 2 == 0)
                {
                    leilao.RecebeLance(fulano, oferta);
                }
                else
                {
                    leilao.RecebeLance(ciclano, oferta);
                }
            }

            leilao.TerminaPregao();

            //When
            leilao.RecebeLance(fulano, 900);

            //Then
            var qtdObtida = leilao.Lances.Count();

            Assert.Equal(qtdEsperada, qtdObtida);
        }
Beispiel #3
0
        public void RetornaMaiorValorDadoLeilaoComPeloMenosUmLance(
            double valorEsperado,
            double[] ofertas)
        {
            // Arrange
            IModalidadeAvaliacao modalidade = new OfertaMaiorValor();
            var leilao  = new Leilao("Van Gogh", modalidade);
            var fulano  = new Interessada("Fulano", leilao);
            var ciclano = new Interessada("Ciclano", leilao);

            leilao.IniciaPregao();

            for (int i = 0; i < ofertas.Length; i++)
            {
                var oferta = ofertas[i];

                if (i % 2 == 0)
                {
                    leilao.RecebeLance(fulano, oferta);
                }
                else
                {
                    leilao.RecebeLance(ciclano, oferta);
                }
            }


            // Act
            leilao.TerminaPregao();

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

            Assert.Equal(valorEsperado, valorObtido);
        }
        public void LancaInvalidOperationExceptionDadoPregaoNaoFoiIniciado()
        {
            //Arranje
            IModalidadeAvaliacao modalidade = new OfertaMaiorValor();
            var leilao = new Leilao("Van", modalidade);

            //Assert
            Assert.Throws <System.InvalidOperationException>(
                //Act
                () => leilao.TerminaPregao());
        }
Beispiel #5
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);
        }
        public void RetornaZeroDadoLeilaoSemLances()
        {
            //Arranje
            IModalidadeAvaliacao modalidade = new OfertaMaiorValor();
            var leilao = new Leilao("Van", modalidade);

            leilao.IniciaPregao();
            //Act
            leilao.TerminaPregao();

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

            Assert.Equal(valorEsperador, valorObtido);
        }
Beispiel #7
0
        private static void LeilaoComApenasUmLance()
        {
            //Arranje
            IModalidadeAvaliacao modalidade = new OfertaMaiorValor();
            var leilao = new Leilao("Van", modalidade);
            var fulano = new Interessada("Fulano", leilao);

            leilao.RecebeLance(fulano, 800);

            //Act
            leilao.TerminaPregao();

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

            Verifica(valorEsperador, valorObtido);
        }
Beispiel #8
0
        public void NaoAceitaProximoLanceDadoMesmoInteressadoRealizouUltimoLance()
        {
            //Arranje
            IModalidadeAvaliacao modalidade = new OfertaMaiorValor();
            var leilao = new Leilao("Van", modalidade);
            var fulano = new Interessada("Fulano", leilao);

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

            //Act
            leilao.RecebeLance(fulano, 800);

            //Assert
            leilao.TerminaPregao();
            var qtdeEsperado = 1;
            var qtdeLances   = leilao.Lances.Count();

            Assert.Equal(qtdeEsperado, qtdeLances);
        }
Beispiel #9
0
        public void NaoAceitaProximoLanceDadoMesmoClienteRealizouUltimoLance()
        {
            //Given
            IModalidadeAvaliacao modalidade = new OfertaMaiorValor();
            var leilao = new Leilao("Van Gogh", modalidade);
            var fulano = new Interessada("Fulano", leilao);

            leilao.IniciaPregao();

            leilao.RecebeLance(fulano, 100);

            //When
            leilao.RecebeLance(fulano, 900);

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

            Assert.Equal(qtdEsperada, qtdObtida);
        }
Beispiel #10
0
        public void NaoPermiteNovosLancesDadoLeilaoFinalizado(int qtdeEsperado, double[] ofertas)
        {
            //Arranje
            IModalidadeAvaliacao modalidade = new OfertaMaiorValor();
            var leilao = new Leilao("Van", modalidade);
            var fulano = new Interessada("Fulano", leilao);
            var maria  = new Interessada("Maria", leilao);

            leilao.IniciaPregao();

            for (int i = 0; i < ofertas.Length; i++)
            {
                var item = ofertas[i];
                if ((i % 2) == 0)
                {
                    leilao.RecebeLance(fulano, item);
                }
                else
                {
                    leilao.RecebeLance(maria, item);
                }
            }

            leilao.TerminaPregao();

            //Act
            foreach (var item in ofertas)
            {
                leilao.RecebeLance(fulano, item);
            }

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

            Assert.Equal(qtdeEsperado, qtdeLances);
        }