示例#1
0
        public void NaoDeveAceitarMaisDoQue5LancesDeUmMesmoUsuario()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Macbook Pro 15")
                            .Lance(jobs, 2000.0)
                            .Lance(gates, 3000.0)

                            .Lance(jobs, 4000.0)
                            .Lance(gates, 5000.0)

                            .Lance(jobs, 6000.0)
                            .Lance(gates, 7000.0)

                            .Lance(jobs, 8000.0)
                            .Lance(gates, 9000.0)

                            .Lance(jobs, 10000.0)
                            .Lance(gates, 11000.0)

                            //Deve ser ignorado
                            .Lance(jobs, 12000.0)
                            .Constroi();

            Assert.AreEqual(10, leilao.Lances.Count);
            var   ultimo      = leilao.Lances.Count - 1;
            Lance ultimoLance = leilao.Lances[ultimo];

            Assert.AreEqual(11000, ultimoLance.Valor, 0.00001);
        }
示例#2
0
        public void NaoDeveAvaliarCasoNaoHajaLances()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Playstation")
                            .Constroi();

            leiloeiro.Avalia(leilao);
        }
示例#3
0
        // ExpectedException removed from NUnit 3.0
        // https://stackoverflow.com/questions/33895457/expectedexception-in-nunit-gave-me-an-error
        public void NaoDeveAvaliarLeiloesSemNenhumLanceDado()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Playstation").Constroi();

            // Now using Assert.That instead
            Assert.That(() => leiloeiro.Avalia(leilao), Throws.TypeOf <Exception>());
        }
示例#4
0
        public void naoDeveAvaliarLeilaoesSemnenhumLanceDado()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Playstation 3 Novo")
                            .Constroi();

            leiloeiro.Avalia(leilao);
        }
        public void NaoDeveAvaliarLeiloesSemNenhumLanceDado()
        {
            Leilao leilao = new CriadorDeLeilao()
                .Para("Playstation 3 Novo")
                .Constroi();

            leiloeiro.Avalia(leilao);
        }
示例#6
0
        public void TesteNãoDeveAvaliarSemLance()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Playstation 2").Constroi();

            leiloeiro.Avalia(leilao);

            //Assert.???
        }
示例#7
0
        public void NaoDeveDobrarCasoNaoHajaLanceAnterior()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Macbook Air")
                            .Constroi();

            leilao.DobraLance(jobs);

            Assert.AreEqual(0, leilao.Lances.Count);
        }
示例#8
0
        public void NaoDeveAceitarDoisLancesSeguidosDoMesmoUsuario()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Macbook Pro 15")
                            .Lance(jobs, 2000.0)
                            .Lance(jobs, 3000.0)
                            .Constroi();

            Assert.AreEqual(1, leilao.Lances.Count);
            Assert.AreEqual(2000, leilao.Lances[0].Valor, 0.0001);
        }
示例#9
0
        public void DeveReceberUmLance()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Macbook Pro 15").Constroi();
            Assert.AreEqual(0, leilao.Lances.Count);

            leilao.Propoe(new Lance(new Usuario("Steve Jobs"), 2000));

            Assert.AreEqual(1, leilao.Lances.Count);
            Assert.AreEqual(2000.0, leilao.Lances[0].Valor, 0.00001);
        }
示例#10
0
        public void DeveEntenderLeilaoCOmApenasUmLance()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Plastation 4 Novo")
                            .Lance(joao, 1000)
                            .Constroi();

            leiloeiro.Avalia(leilao);

            Assert.AreEqual(1000, leiloeiro.MaiorLance, 0.0001);
            Assert.AreEqual(1000, leiloeiro.MenorLance, 0.0001);
        }
示例#11
0
        public void TesteComApenasUmLance()
        {
            Leilao leilao = new CriadorDeLeilao().Para("PS4")
                            .Lance(joao, 1500.0)
                            .Constroi();

            leiloeiro.Avalia(leilao);

            Assert.AreEqual(1500, leiloeiro.maiorLance, 0.00001);
            Assert.AreEqual(1500, leiloeiro.menorLance, 0.00001);
        }
示例#12
0
        public void DeveEncontraNenhumLance()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Playstation 3 Novo")
                            .Constroi();

            leiloeiro.Avalia(leilao);

            var maiores = leiloeiro.TresMaiores;

            Assert.AreEqual(0, maiores.Count);
        }
示例#13
0
        public void DeveReceberUmLance()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Mackbook Pro 15").Constroi();

            Assert.AreEqual(0, leilao.Lances.Count);

            leilao.Propoe(new Lance(jobs, 2000.0));

            Assert.AreEqual(1, leilao.Lances.Count);
            Assert.AreEqual(2000, leilao.Lances[0].Valor, 0.00001);
        }
示例#14
0
        public void DeveDevolverListaVaziaCasoNaoHajaLances()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Playstation 3 Novo")
                            .Constroi();

            leiloeiro.Avalia(leilao);

            var maiores = leiloeiro.TresMaiores;

            Assert.AreEqual(0, maiores.Count);
        }
示例#15
0
        public void DeveDobrarUltimoLancePropostoPeloUsuario()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Macbook Air")
                            .Lance(jobs, 2000.0)
                            .Lance(wozniak, 1000.0)
                            .Constroi();

            leilao.DobraLance(jobs);

            Assert.AreEqual(4000, leilao.Lances[2].Valor, 0.00001);
        }
示例#16
0
        public void TesteListaDeLancesVazia()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Monitor 24p")
                            .Constroi();

            leiloeiro.Avalia(leilao);

            var maiores = leiloeiro.TresMaiores;

            Assert.AreEqual(0, maiores.Count);
        }
示例#17
0
        public void LeilaoComDoisLances()
        {
            Leilao leilao = new CriadorDeLeilao()
                            .Para("Playstation 3 Novo")
                            .Lance(joao, 100)
                            .Lance(jose, 200)
                            .Constroi();

            leiloeiro.Avalia(leilao);

            Assert.AreEqual(2, leiloeiro.TresMaiores.Count);
        }
示例#18
0
        public void NaoDeveAceitarDoisLancesSeguidosDoMesmoUsuario()
        {
            Usuario steveJobs = new Usuario("Steve Jobs");
            Leilao leilao = new CriadorDeLeilao()
                .Para("Macbook Pro 15")
                .Lance(steveJobs, 2000.0)
                .Lance(steveJobs, 3000.0)
                .Constroi();

            Assert.AreEqual(1, leilao.Lances.Count);
            Assert.AreEqual(2000.0, leilao.Lances[0].Valor, 0.00001);
        }
示例#19
0
        public void DeveReceberVariosLances()
        {
            Leilao leilao = new CriadorDeLeilao()
                .Para("Macbook Pro 15")
                .Lance(new Usuario("Steve Jobs"), 2000)
                .Lance(new Usuario("Steve Wozniak"), 3000)
                .Constroi();

            Assert.AreEqual(2, leilao.Lances.Count);
            Assert.AreEqual(2000.0, leilao.Lances[0].Valor, 0.00001);
            Assert.AreEqual(3000.0, leilao.Lances[1].Valor, 0.00001);
        }
示例#20
0
        public void DeveCalcularAMedia()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Playstation 3 Novo")
                            .Lance(maria, 300.0)
                            .Lance(joao, 400.0)
                            .Lance(jose, 500.0)
                            .Constroi();

            leiloeiro.Avalia(leilao);

            Assert.AreEqual(400, leiloeiro.ValorMedio, 0.0001);
        }
        public void DeveEntenderLeilaoComApenasUmLance()
        {
            Leilao leilao = new CriadorDeLeilao()
            .Para("Playstation 3 Novo")
            .Lance(joao, 1000)
            .Constroi();

            leiloeiro.Avalia(leilao);

            Assert.AreEqual(1000.0, leiloeiro.MaiorLance, 0.00001);
            Assert.AreEqual(1000.0, leiloeiro.MenorLance, 0.00001);
        }
示例#22
0
        public void DeveReceberVariosLances()
        {
            Leilao leilao = new CriadorDeLeilao()
                            .Para("Macbook Pro 15")
                            .Lance(new Usuario("Steve Jobs"), 2000)
                            .Lance(new Usuario("Steve Jobs"), 3000)
                            .Constroi();

            Assert.AreEqual(2, leilao.Lances.Count);
            Assert.AreEqual(2000, leilao.Lances[0].Valor, 0.0001);
            Assert.AreEqual(3000, leilao.Lances[1].Valor, 0.0001);
        }
示例#23
0
        public void DeveEntenderLancesEmOrdemCrescente()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Playstation 3 Novo")
                            .Lance(maria, 250.0)
                            .Lance(joao, 300.0)
                            .Lance(jose, 400.0)
                            .Constroi();

            leiloeiro.Avalia(leilao);

            Assert.AreEqual(400, leiloeiro.MaiorLance, 0.0001);
            Assert.AreEqual(250, leiloeiro.MenorLance, 0.0001);
        }
示例#24
0
        public void LanceDeDuzentos()
        {
            double valorLance = 200;
            Leilao leilao     = new CriadorDeLeilao().
                                Para("Playstation 3 Novo")
                                .Lance(joao, valorLance)
                                .Constroi();

            leiloeiro.Avalia(leilao);

            Assert.AreEqual(valorLance, leiloeiro.MaiorLance, 0.0001);
            Assert.AreEqual(valorLance, leiloeiro.MenorLance, 0.0001);
        }
        public void DeveEntenderLancesEmOrdemCrescente()
        {
            Leilao leilao = new CriadorDeLeilao()
                .Para("Playstation 3 Novo")
                .Lance(joao, 250)
                .Lance(jose, 300)
                .Lance(maria, 400)
                .Constroi();

            leiloeiro.Avalia(leilao);

            Assert.AreEqual(400.0, leiloeiro.MaiorLance, 0.00001);
            Assert.AreEqual(250.0, leiloeiro.MenorLance, 0.00001);
        }
示例#26
0
        public void TesteOrdemDecrescente()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Espelho")
                            .Lance(alex, 400.0)
                            .Lance(maria, 300.0)
                            .Lance(alex, 200.0)
                            .Lance(maria, 100.0)
                            .Constroi();

            leiloeiro.Avalia(leilao);

            Assert.AreEqual(400, leiloeiro.maiorLance, 0.00001);
            Assert.AreEqual(100, leiloeiro.menorLance, 0.00001);
        }
示例#27
0
        public void DeveReceberVariosLances()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Mackbook Pro 15").Constroi();

            Assert.AreEqual(0, leilao.Lances.Count);

            leilao.Propoe(new Lance(jobs, 2000.0));
            leilao.Propoe(new Lance(wozniak, 3000.0));

            Assert.AreEqual(2, leilao.Lances.Count);
            Assert.AreEqual(2000, leilao.Lances[0].Valor, 0.00001);
            Assert.AreEqual(3000, leilao.Lances[1].Valor, 0.00001);
            Console.WriteLine(wozniak.Nome);
        }
示例#28
0
        public void DeveAvaliarLeilaoComApenasUmLance()
        {
            // cenario
            Leilao leilao = new CriadorDeLeilao()
                .Para("Descricao")
                .ComLance(usuario1, 1)
                .Constroi();

            // acao
            avaliador.Avalia(leilao);

            // validacao
            Assert.AreEqual(1, avaliador.MenorLance);
            Assert.AreEqual(1, avaliador.MaiorLance);
        }
示例#29
0
        public void DeveDevolverTodosLancesCasoNaoHajaNoMinimo3()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Playstation 3 Novo")
                            .Lance(joao, 800.0)
                            .Lance(maria, 400.0)
                            .Constroi();

            leiloeiro.Avalia(leilao);

            var maiores = leiloeiro.TresMaiores;

            Assert.AreEqual(2, maiores.Count);
            Assert.AreEqual(800, maiores[0].Valor, 0.0001);
            Assert.AreEqual(400, maiores[1].Valor, 0.0001);
        }
示例#30
0
        public void TestePegaDoisUnicosLances()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Monitor 24p")
                            .Lance(alex, 450.0)
                            .Lance(maria, 480.0)
                            .Constroi();

            leiloeiro.Avalia(leilao);

            var maiores = leiloeiro.TresMaiores;

            Assert.AreEqual(2, maiores.Count);
            Assert.AreEqual(480, maiores[0].Valor, 0.00001);
            Assert.AreEqual(450, maiores[1].Valor, 0.00001);
        }
示例#31
0
        public void DeveEncontrarDoisLances()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Playstation 3 Novo")
                            .Lance(joao, 100.0)
                            .Lance(maria, 200.0)
                            .Constroi();

            leiloeiro.Avalia(leilao);

            IList <Lance> maiores = leiloeiro.TresMaiores;

            Assert.AreEqual(2, maiores.Count);
            Assert.AreEqual(200, maiores[0].Valor, 0.00001);
            Assert.AreEqual(100, maiores[1].Valor, 0.00001);
        }
示例#32
0
        public void CalculaValorMedio()
        {
            Leilao leilao = new CriadorDeLeilao()
                            .Para("Playstation 3 Novo")
                            .Lance(maria, 300.0)
                            .Lance(joao, 300.0)
                            .Lance(jose, 300.0)
                            .Constroi();

            leiloeiro.Avalia(leilao);

            double esperado = 300;

            Assert.AreEqual(esperado, leiloeiro.MediaDosLances, 0.0001);
        }
示例#33
0
        public void LancesDecrescentes()
        {
            Leilao leilao = new CriadorDeLeilao()
                            .Para("Playstation 3 Novo")
                            .Lance(joao, 400)
                            .Lance(jose, 300)
                            .Lance(joao, 200)
                            .Lance(jose, 100)
                            .Constroi();

            leiloeiro.Avalia(leilao);

            Assert.AreEqual(100, leiloeiro.MenorLance, 0.0001);
            Assert.AreEqual(400, leiloeiro.MaiorLance, 0.0001);
        }
示例#34
0
        public void TesteNumerosRandomicos()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Jogo PS4")
                            .Lance(alex, 200.0)
                            .Lance(maria, 450.0)
                            .Lance(alex, 120.0)
                            .Lance(maria, 700.0)
                            .Lance(alex, 630.0)
                            .Lance(maria, 230.0)
                            .Constroi();

            leiloeiro.Avalia(leilao);

            Assert.AreEqual(700, leiloeiro.maiorLance, 0.00001);
            Assert.AreEqual(120, leiloeiro.menorLance, 0.00001);
        }
示例#35
0
        public void DeveEntenderLancesEmOrdemRandomica()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Playstation 3 Novo")
                            .Lance(joao, 250.0)
                            .Lance(maria, 450.0)
                            .Lance(jose, 120.0)
                            .Lance(maria, 700.0)
                            .Lance(joao, 630.0)
                            .Lance(jose, 230.0)
                            .Constroi();

            leiloeiro.Avalia(leilao);

            Assert.AreEqual(700, leiloeiro.MaiorLance, 0.0001);
            Assert.AreEqual(120, leiloeiro.MenorLance, 0.0001);
        }
示例#36
0
        public void DeveEntenderLancesEmOrdemCrescente()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Playstation")
                            .Lance(maria, 250.0)
                            .Lance(joao, 300)
                            .Lance(jose, 400)
                            .Constroi();

            leiloeiro.Avalia(leilao);

            double maiorEsperado = 400;
            double menorEsperado = 250;

            Assert.AreEqual(maiorEsperado, leiloeiro.MaiorLance, 0.00001);
            Assert.AreEqual(menorEsperado, leiloeiro.MenorLance, 0.00001);
        }
示例#37
0
        public void DeveCalcularMedia()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Playstation")
                            .Lance(maria, 250.0)
                            .Lance(joao, 300)
                            .Lance(jose, 400)
                            .Constroi();

            leilao.Propoe(new Lance(maria, 250.0));
            leilao.Propoe(new Lance(joao, 300.0));
            leilao.Propoe(new Lance(jose, 400.0));

            leiloeiro.Avalia(leilao);

            Assert.AreEqual(317.0, leiloeiro.Media, 0.00001);
        }
示例#38
0
        public void DeveAvaliarLeilaoComLancesEmOrdemCrescente()
        {
            // cenario
            Leilao leilao = new CriadorDeLeilao()
                .Para("Descricao")
                .ComLance(usuario1, 1)
                .ComLance(usuario2, 2)
                .ComLance(usuario3, 3)
                .Constroi();

            // acao
            avaliador.Avalia(leilao);

            // validacao
            Assert.AreEqual(1, avaliador.MenorLance, 0.00001);
            Assert.AreEqual(3, avaliador.MaiorLance, 0.00001);
        }
        public void DeveEncontrarOsTresMaioresLances()
        {
            Leilao leilao = new CriadorDeLeilao()
                .Para("Playstation 3 Novo")
                .Lance(joao, 100)
                .Lance(maria, 200)
                .Lance(joao, 300)
                .Lance(maria, 400)
                .Constroi();

            leiloeiro.Avalia(leilao);

            var maiores = leiloeiro.TresMaiores;
            Assert.AreEqual(3, maiores.Count);
            Assert.AreEqual(400.0, maiores[0].Valor, 0.00001);
            Assert.AreEqual(300.0, maiores[1].Valor, 0.00001);
            Assert.AreEqual(200.0, maiores[2].Valor, 0.00001);
        }
示例#40
0
        public void NaoDeveAceitarMaisDoQue5LancesDeUmMesmoUsuario()
        {
            Usuario steveJobs = new Usuario("Steve Jobs");
            Usuario billGates = new Usuario("Bill Gates");

            Leilao leilao = new CriadorDeLeilao().Para("Macbook Pro 15")
                    .Lance(steveJobs, 2000)
                    .Lance(billGates, 3000)
                    .Lance(steveJobs, 4000)
                    .Lance(billGates, 5000)
                    .Lance(steveJobs, 6000)
                    .Lance(billGates, 7000)
                    .Lance(steveJobs, 8000)
                    .Lance(billGates, 9000)
                    .Lance(steveJobs, 10000)
                    .Lance(billGates, 11000)
                    .Lance(steveJobs, 12000)
                    .Constroi();

            Assert.AreEqual(10, leilao.Lances.Count);
            int ultimo = leilao.Lances.Count - 1;
            Assert.AreEqual(11000.0, leilao.Lances[ultimo].Valor, 0.00001);
        }
示例#41
0
        public void DeveInformarTodosOsLancesComoMaioresQuandoMenosDoQueTresLancesForemPropostos()
        {
            // cenario
            Leilao leilao = new CriadorDeLeilao()
                .Para("Descricao")
                .ComLance(usuario1, 1)
                .ComLance(usuario2, 2)
                .Constroi();

            // acao
            avaliador.Avalia(leilao);

            // validacao
            Assert.AreEqual(2, avaliador.TresMaiores.Count);
            Assert.AreEqual(2, avaliador.TresMaiores[0].Valor);
            Assert.AreEqual(1, avaliador.TresMaiores[1].Valor);
        }
示例#42
0
 public void NaoDeveAvaliarLeilaoSemLance()
 {
     Leilao leilao = new CriadorDeLeilao().Para("Descricao").Constroi();
     avaliador.Avalia(leilao);
 }
示例#43
0
        public void DeveInformarOsTresMaioresLancesDeUmLeilao()
        {
            // cenario
            Leilao leilao = new CriadorDeLeilao()
                .Para("Descricao")
                .ComLance(usuario1, 1)
                .ComLance(usuario2, 2)
                .ComLance(usuario3, 3)
                .Constroi();

            // acao
            avaliador.Avalia(leilao);

            // validacao
            Assert.AreEqual(3, avaliador.TresMaiores.Count);
            Assert.AreEqual(3, avaliador.TresMaiores[0].Valor);
            Assert.AreEqual(2, avaliador.TresMaiores[1].Valor);
            Assert.AreEqual(1, avaliador.TresMaiores[2].Valor);
        }