public void Avalia(Leilao leilao) { if (leilao.Lances.Count == 0) { throw new Exception("Não é 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; } } pegaOsMaioresNo(leilao); }
public void NaoDeveAceitarMaisDoQue5LancesDeUmMesmoUsuario() { Leilao leilao = new Leilao("Macbook Pro 15"); Usuario steveJobs = new Usuario("Steve Jobs"); Usuario billGates = new Usuario("Bill Gates"); leilao.Propoe(new Lance(steveJobs, 2000)); leilao.Propoe(new Lance(billGates, 3000)); leilao.Propoe(new Lance(steveJobs, 4000)); leilao.Propoe(new Lance(billGates, 5000)); leilao.Propoe(new Lance(steveJobs, 6000)); leilao.Propoe(new Lance(billGates, 7000)); leilao.Propoe(new Lance(steveJobs, 8000)); leilao.Propoe(new Lance(billGates, 9000)); leilao.Propoe(new Lance(steveJobs, 10000)); leilao.Propoe(new Lance(billGates, 11000)); leilao.Propoe(new Lance(steveJobs, 12000)); Assert.AreEqual(10, leilao.Lances.Count); int ultimo = leilao.Lances.Count - 1; Lance ultimoLance = leilao.Lances[ultimo]; Assert.AreEqual(11000.0, ultimoLance.Valor, 0.00001); }
private void pegaOsMaioresNo(Leilao leilao) { maiores = new List <Lance>(leilao.Lances.OrderByDescending(x => x.Valor)); maiores = maiores.GetRange(0, maiores.Count > 3 ? 3 : maiores.Count); }
public CriadorLeilao Para(String descricao) { this.leilao = new Leilao(descricao); return(this); }