public void ColocaStatusComoLeilaoEmAndamento() { var leilao = new Core.Leilao("Peça qualquer"); leilao.Inicia(); Assert.Equal(StatusLeilao.LeilaoEmAndamento, leilao.Status); }
public void RetornaResultadoNaoNulo() { var leilao = new Core.Leilao("Peça qualquer"); leilao.Inicia(); var resultado = leilao.Termina(); Assert.NotNull(resultado); }
public void DepoisDeInvocadoNaoPermiteNovosLances() { var leilao = new Core.Leilao("Peça qualquer"); leilao.Inicia(); var resultado = leilao.Termina(); new Interessado("Fulano", leilao).Oferece(250); Assert.Equal(0, leilao.Lances.Count); }
public void DepoisDeInvocadoAceitaLances() { var leilao = new Core.Leilao("Peça qualquer"); var joao = new Interessado("Fulano de tal", leilao); var maria = new Interessado("Maria", leilao); leilao.Inicia(); leilao.RecebeOferta(new Lance(joao, 901)); leilao.RecebeOferta(new Lance(maria, 1349)); Assert.Equal(2, leilao.Lances.Count); }
public void NaoPermiteLancesConsecutivosDoMesmoCliente() { var leilao = new Core.Leilao("Peça qualquer"); var joao = new Interessado("João", leilao); leilao.Inicia(); leilao.RecebeOferta(new Lance(joao, 180)); leilao.RecebeOferta(new Lance(joao, 200)); Assert.Equal(1, leilao.Lances.Count); Assert.Equal(180, leilao.Lances[0].Valor); }
public void RetornaMaiorOferta( double maiorLanceEsperado, double[] ofertas) { var leilao = new Core.Leilao("Pintura de Dalí"); leilao.Inicia(); foreach (var oferta in ofertas) { leilao.RecebeOferta( new Lance(new Interessado("Fulano", leilao), oferta) ); } var resultado = leilao.Termina(); Assert.Equal(maiorLanceEsperado, resultado.MelhorLance.Valor); }
public void NaoPermiteLancesMenoresDoMesmoCliente() { var leilao = new Core.Leilao("Peça qualquer"); var joao = new Interessado("João", leilao); var maria = new Interessado("Maria", leilao); leilao.Inicia(); leilao.RecebeOferta(new Lance(joao, 180)); leilao.RecebeOferta(new Lance(maria, 200)); leilao.RecebeOferta(new Lance(joao, 170)); Assert.Equal(2, leilao.Lances.Count); var valorLanceJoao = leilao.Lances .Where(l => l.Cliente == joao) .Select(l => l.Valor) .First(); Assert.Equal(180, valorLanceJoao); }
public void RetornaOfertaSuperiorMaisProxima( double valorEsperado, double valorDestino, double[] ofertas) { var leilao = new Core.Leilao("Peça qualquer", new OfertaSuperiorMaisProxima(valorDestino)); leilao.Inicia(); foreach (var oferta in ofertas) { var interessado = new Interessado("Fulano", leilao); var lance = new Lance(interessado, oferta); leilao.RecebeOferta(lance); } var resultado = leilao.Termina(); Assert.Equal(valorEsperado, resultado.MelhorLance.Valor); }