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 DadoLeilaoAntesPregaoDeveLancarInvalidOperationException() { var leilao = new Core.Leilao("Peça qualquer"); var excecaoRetornada = Assert .Throws <InvalidOperationException>(() => leilao.Termina()); var mensagemEsperada = "Leilão não pode ser finalizado antes do pregão começar."; Assert.Equal( mensagemEsperada, excecaoRetornada.Message ); }
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 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); }