public void DeveEntenderLancesEmOrdemCrescente() { //cenario Leilao leilao = new Leilao("Playstation 3 Novo"); leilao.Propoe(new Lance(joao, 300)); leilao.Propoe(new Lance(jose, 400)); leilao.Propoe(new Lance(maria, 250)); //acao leiloeiro.Avalia(leilao); //validacao double maiorEsperado = 400; double menorEsperado = 250; Assert.AreEqual(maiorEsperado, leiloeiro.MaiorLance); Assert.AreEqual(menorEsperado, leiloeiro.MenorLance); }
public void Avalia(Leilao leilao) { if (leilao.Lances.Count == 0) { throw new Exception("Não eh possível avaliar um leilão sem lances"); } foreach (var lance in leilao.Lances) { if (lance.Valor > maiorDeTodos) { maiorDeTodos = lance.Valor; } if (lance.Valor < menorDeTodos) { menorDeTodos = lance.Valor; } } pegaOsMaiores(leilao); }
private void pegaOsMaiores(Leilao leilao) { maioresLances = new List <Lance>(leilao.Lances.OrderByDescending(x => x.Valor)); maioresLances = maioresLances.GetRange(0, maioresLances.Count > 3 ? 3 : maioresLances.Count); }
public CriadorDeLeilao Para(String descricao) { this.leilao = new Leilao(descricao); return(this); }