コード例 #1
0
ファイル: LanceTest.cs プロジェクト: thiagoleet/dotnet-tdd
 public void NaoPodeLanceMenorOuIgualZero()
 {
     Leilao leiao = new CriadorDeLeilao()
                    .Para("Playstatin 4 Pro")
                    .Lance(joao, 0)
                    .Constroi();
 }
コード例 #2
0
ファイル: LeilaoTest.cs プロジェクト: alexjosef/projetos
        public void TesteNaoDobrarSeNaoHouverUltimoLance()
        {
            Leilao leilao = new CriadorDeLeilao().Para("PS4 Usado")
                            .Constroi();

            Assert.AreEqual(0, leilao.Lances.Count);
        }
コード例 #3
0
ファイル: LeilaoTest.cs プロジェクト: alexjosef/projetos
        public void NaoDeveAceitarMaisQue5LancesDoMesmoUsuario()
        {
            Leilao leilao = new CriadorDeLeilao().Para("iMac 4k")
                            .Lance(stevejobs, 2000.0)
                            .Lance(billgates, 3000.0)

                            .Lance(stevejobs, 4000.0)
                            .Lance(billgates, 5000.0)

                            .Lance(stevejobs, 6000.0)
                            .Lance(billgates, 7000.0)

                            .Lance(stevejobs, 8000.0)
                            .Lance(billgates, 9000.0)

                            .Lance(stevejobs, 10000.0)
                            .Lance(billgates, 11000.0)

                            //Deve ser ignorado
                            .Lance(stevejobs, 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);
        }
コード例 #4
0
        public void NaoDeveAceitarMaisDoQue5LancesDoMesmoUsuario()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Raspberry Pi 3")
                            .Lance(steeveJobs, 2000.00)
                            .Lance(billGates, 2500.00)
                            .Lance(steeveJobs, 3000.00)
                            .Lance(billGates, 3500.00)
                            .Lance(steeveJobs, 4000.00)
                            .Lance(billGates, 4500.00)
                            .Lance(steeveJobs, 5000.00)
                            .Lance(billGates, 5500.00)
                            .Lance(steeveJobs, 6000.00)
                            .Lance(billGates, 6500.00)
                            .Constroi();

            //tem que ignorar
            leilao.Propoe(new Lance(steeveJobs, 9999.99));

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

            var ultimo = leilao.Lances.Count - 1;

            var ultimoLance = leilao.Lances[ultimo];

            Assert.AreEqual(6500, ultimoLance.Valor, 0.00001);
        }
コード例 #5
0
ファイル: LeilaoTest.cs プロジェクト: alexjosef/projetos
        public void TesteRecebeUmLance()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Macbook Pro TouchBar")
                            .Lance(stevejobs, 9000.0)
                            .Constroi();

            Assert.AreEqual(1, leilao.Lances.Count);
        }
コード例 #6
0
        public void DeveReceberUmLance()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Mackbook pro 15")
                            .Lance(steeveJobs, 15000.00)
                            .Constroi();

            Assert.AreEqual(1, leilao.Lances.Count);
            Assert.AreEqual(15000.00, leilao.Lances[0].Valor, 0.00001);
        }
コード例 #7
0
        public void NaoDeveAvaliarLeilaoSemLances()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Playstation 3 Novo").Constroi();

            // executando a acao e verificando se é disparada a exceção com a correta mensagem.
            Assert.Throws(Is.TypeOf <Exception>()
                          .And.Message.EqualTo("Não é possível avaliar um leilão sem nenhum lance"),
                          delegate { leiloeiro.Avalia(leilao); });
        }
コード例 #8
0
ファイル: LeilaoTest.cs プロジェクト: alexjosef/projetos
        public void NaoDeveAceitarDoisLancesSeguidosDoMesmoUsuario()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Macbook Pro TouchBar")
                            .Lance(stevejobs, 14000.0)
                            .Lance(stevejobs, 9000.0)
                            .Constroi();

            Assert.AreEqual(1, leilao.Lances.Count);
            Assert.AreEqual(14000, leilao.Lances[0].Valor);
        }
コード例 #9
0
        public void DobrarUltimoLanceDoUsuarioSemLances()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Mackbook pro 15")
                            .Lance(steeveWonziak, 2000.00)
                            .Constroi();

            leilao.DobrarLance(steeveJobs);

            Assert.AreEqual(1, leilao.Lances.Count);
            Assert.AreEqual(2000.00, leilao.Lances[leilao.Lances.Count - 1].Valor, 0.00001);
        }
コード例 #10
0
        public void NaoDeveAceitarDoisLancesSeguidosDoMesmoUsuario()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Mackbook pro 15")
                            .Lance(steeveJobs, 2000.00)
                            .Lance(steeveJobs, 3000.00)
                            .Constroi();

            Assert.AreEqual(1, leilao.Lances.Count);
            Assert.AreEqual(2000.00, leilao.Lances[0].Valor, 0.00001);
            Assert.AreEqual(2000.00, leilao.Lances[0].Valor, 0.00001);
        }
コード例 #11
0
        public void DeveDevolverExceptionComLanceComValorZero()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Playstation 3 Novo")
                            .Lance(joao, 0)
                            .Constroi();

            // executando a acao e verificando se é disparada a exceção com a correta mensagem.
            Assert.Throws(Is.TypeOf <ArgumentException>()
                          .And.Message.EqualTo("O valor de um lance não pode ser igual ou menor que 0."),
                          delegate { leiloeiro.Avalia(leilao); });
        }
コード例 #12
0
ファイル: LeilaoTest.cs プロジェクト: alexjosef/projetos
        public void TesteRecebeVariosLances()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Macbook Pro TouchBar 15")
                            .Lance(stevejobs, 9000.0)
                            .Lance(billgates, 13000.0)
                            .Constroi();

            Assert.AreEqual(2, leilao.Lances.Count);
            Assert.AreEqual(9000, leilao.Lances[0].Valor);
            Assert.AreEqual(13000, leilao.Lances[1].Valor);
        }
コード例 #13
0
ファイル: LeilaoTest.cs プロジェクト: thiagoleet/dotnet-tdd
        public void NaoDeveAceitarDoisLancesSeguidosDoMesmoUsuario()
        {
            Leilao leilao = new CriadorDeLeilao()
                            .Para("Macbook Pro 15")
                            .Lance(jobs, 2000)
                            .Lance(jobs, 3000)
                            .Constroi();

            Assert.AreEqual(1, leilao.Lances.Count);
            Assert.AreEqual(2000, leilao.Lances.FirstOrDefault().Valor, 0.0001);
        }
コード例 #14
0
ファイル: LeilaoTest.cs プロジェクト: thiagoleet/dotnet-tdd
        public void DeveDobrarOLance()
        {
            Leilao leilao = new CriadorDeLeilao()
                            .Para("Macbook Pro 15")
                            .Lance(jobs, 2000)
                            .Lance(gates, 3000)
                            .Constroi();

            leilao.DobraLance(jobs);

            Assert.AreEqual(6000, leilao.ultimoLanceDado().Valor, 0.00001);
        }
コード例 #15
0
ファイル: LeilaoTest.cs プロジェクト: thiagoleet/dotnet-tdd
        public void DeveReceberVariosLances()
        {
            Leilao leilao = new CriadorDeLeilao()
                            .Para("Macbook Pro 15")
                            .Lance(jobs, 2000)
                            .Lance(woz, 3000)
                            .Constroi();

            Assert.AreEqual(2, leilao.Lances.Count);
            Assert.AreEqual(2000, leilao.Lances.FirstOrDefault().Valor, 0.0001);
            Assert.AreEqual(3000, leilao.Lances[1].Valor, 0.0001);
        }
コード例 #16
0
        public void DeveReceberVariosLances()
        {
            // cenario: 3 lances em ordem crescente
            Leilao leilao = new CriadorDeLeilao().Para("Mackbook pro 15")
                            .Lance(steeveJobs, 2000.00)
                            .Lance(steeveWonziak, 3000.00)
                            .Constroi();

            Assert.AreEqual(2, leilao.Lances.Count);
            Assert.AreEqual(2000.00, leilao.Lances[0].Valor, 0.00001);
            Assert.AreEqual(3000.00, leilao.Lances[1].Valor, 0.00001);
        }
コード例 #17
0
ファイル: LeilaoTest.cs プロジェクト: thiagoleet/dotnet-tdd
        public void DeveReceberUmLance()
        {
            Leilao leilao = new CriadorDeLeilao().
                            Para("Macbook Pro 15")
                            .Constroi();

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

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

            Assert.AreEqual(1, leilao.Lances.Count);
            Assert.AreEqual(2000, leilao.Lances.FirstOrDefault().Valor, 0.0001);
        }
コード例 #18
0
ファイル: LeilaoTest.cs プロジェクト: alexjosef/projetos
        public void TesteDobrarLance()
        {
            Usuario alex = new Usuario("Alex");
            Usuario joao = new Usuario("João");

            Leilao leilao = new CriadorDeLeilao().Para("PS4 Novo")
                            .Lance(alex, 1000.0)
                            .Lance(joao, 1500.0)
                            .Constroi();

            leilao.DobraLance(alex);

            Assert.AreEqual(2000, leilao.Lances[2].Valor);
        }
コード例 #19
0
        public void DeveDevolverTodosLancesCasoNaoHajaNoMinimo3()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Playstation 3 Novo")
                            .Lance(joao, 300.00)
                            .Lance(mario, 415.00)
                            .Constroi();

            // executando a acao
            leiloeiro.Avalia(leilao);

            var maiores = leiloeiro.TresMaiores;

            // comparando a saida com o esperado
            Assert.AreEqual(2, leiloeiro.TresMaiores.Count);
            Assert.AreEqual(415, maiores[0].Valor, 0.00001);
            Assert.AreEqual(300, maiores[1].Valor, 0.00001);
        }
コード例 #20
0
        public void DeveCalcularMediaDosLances()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Playstation 3 Novo")
                            .Lance(maria, 5.00)
                            .Lance(joao, 4.00)
                            .Lance(jose, 6.00)
                            .Constroi();


            // executando a acao
            leiloeiro.Avalia(leilao);

            // comparando a saida com o esperado
            double mediaEsperada = 5;

            Assert.AreEqual(mediaEsperada, leiloeiro.LanceMedio, 0.0001);
        }
コード例 #21
0
        public void DeveEntenderLancesEmOrdemCrescente()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Xbox 360")
                            .Lance(maria, 250.00)
                            .Lance(joao, 300.00)
                            .Lance(jose, 400.00)
                            .Constroi();


            // executando a acao
            leiloeiro.Avalia(leilao);

            // comparando a saida com o esperado
            double maiorEsperado = 400;
            double menorEsperado = 250;

            Assert.AreEqual(maiorEsperado, leiloeiro.MaiorLance, 0.0001);
            Assert.AreEqual(menorEsperado, leiloeiro.MenorLance, 0.0001);
        }
コード例 #22
0
        public void DeveEncontrarOsTresMaioresLances()
        {
            Leilao leilao = new CriadorDeLeilao().Para("Playstation 3 Novo")
                            .Lance(maria, 250.00)
                            .Lance(joao, 300.00)
                            .Lance(jose, 400.00)
                            .Lance(joao, 415.00)
                            .Constroi();

            // executando a acao
            leiloeiro.Avalia(leilao);

            var maiores = leiloeiro.TresMaiores;

            // comparando a saida com o esperado
            Assert.AreEqual(3, leiloeiro.TresMaiores.Count);
            Assert.AreEqual(415, maiores[0].Valor, 0.00001);
            Assert.AreEqual(400, maiores[1].Valor, 0.00001);
            Assert.AreEqual(300, maiores[2].Valor, 0.00001);
        }
コード例 #23
0
ファイル: LeilaoTest.cs プロジェクト: thiagoleet/dotnet-tdd
        public void NaoDeveAceitarMaisDoQue5LancesDeUmMesmoUsuario()
        {
            Leilao leilao = new CriadorDeLeilao()
                            .Para("Macbook Pro 15")
                            .Lance(jobs, 2000)
                            .Lance(gates, 3000)
                            .Lance(jobs, 4000)
                            .Lance(gates, 5000)
                            .Lance(jobs, 6000)
                            .Lance(gates, 7000)
                            .Lance(jobs, 8000)
                            .Lance(gates, 9000)
                            .Lance(jobs, 10000)
                            .Lance(gates, 11000)
                            .Lance(jobs, 12000) // deve ser ignorado
                            .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);
        }