public void MaximoCincoLancePorUsuario() { var leilao = new Leilao("Yamaha Fazer 250"); var tiao = new Usuario("Sebastiao"); var tiago = new Usuario("Tiago"); leilao.Propoe(new Lance(tiao, 1500)); leilao.Propoe(new Lance(tiago, 2000)); leilao.Propoe(new Lance(tiao, 2500)); leilao.Propoe(new Lance(tiago, 3000)); leilao.Propoe(new Lance(tiao, 3500)); leilao.Propoe(new Lance(tiago, 4000)); leilao.Propoe(new Lance(tiao, 4500)); leilao.Propoe(new Lance(tiago, 5000)); leilao.Propoe(new Lance(tiao, 5500)); leilao.Propoe(new Lance(tiago, 6000)); leilao.Propoe(new Lance(tiao, 5500)); Assert.AreEqual(10, leilao.Lances.Count); Assert.AreEqual(tiago,leilao.Lances[leilao.Lances.Count-1].Usuario); }
public void DobraLance(Usuario usuario) { var ultimoLance = UltimoLanceUsuario(usuario).GetValueOrDefault(0d); if (ultimoLance > 0d) { this.Propoe(new Lance(usuario, ultimoLance * 2)); } }
public int TotalLances(Usuario usuario) { var total = 0; foreach (var l in Lances) { if (l.Usuario.Equals(usuario)) { total++; } } return total; }
public void DeveReceberUmLance() { Leilao leilao = new Leilao("Motocicleta 150 cc"); var usuario = new Usuario("Cesar"); //validada se nenhum lance foi dado. Assert.AreEqual(0, leilao.Lances.Count); leilao.Propoe(new Lance(usuario, 1000d)); //validade o teste com quantidade de lance e o valor que deve ser encontrado no lance único. Assert.AreEqual(1, leilao.Lances.Count); Assert.AreEqual(1000d, leilao.Lances[0].ValorLance); }
public void DeveSelecionarLancesEntre500E700() { Usuario joao = new Usuario("Joao"); FiltroDeLances filtro = new FiltroDeLances(); IList<Lance> resultado = filtro.Filtra(new List<Lance>() { new Lance(joao,600), new Lance(joao,500), new Lance(joao,700), new Lance(joao, 800)}); Assert.AreEqual(1, resultado.Count); Assert.AreEqual(600, resultado[0].ValorLance, 0.00001); }
public void NaoPodeTerDoisLancesSeguidosDoMesmoUSuario() { var leilao = new Leilao("Yamaha Fazer 250"); var tiao = new Usuario("Sebastiao"); var tiago = new Usuario("Tiago"); leilao.Propoe(new Lance(tiao,1500)); leilao.Propoe(new Lance(tiago, 2000)); leilao.Propoe(new Lance(tiago, 3000)); Assert.AreEqual(1, leilao.Lances.Count); Assert.AreEqual(3000, leilao.Lances[leilao.Lances.Count - 1].ValorLance); }
public double? UltimoLanceUsuario(Usuario usuario) { var lancesUsuario = from l in Lances where l.Usuario.Equals(usuario) select l; var lancesFiltrados = lancesUsuario.ToList<Lance>(); if (lancesFiltrados.Count > 0) { return lancesFiltrados[lancesFiltrados.Count - 1].ValorLance; } return null; }
public void DeveSelecionarLancesMenores500() { Usuario joao = new Usuario("Joao"); FiltroDeLances filtro = new FiltroDeLances(); IList<Lance> resultado = filtro.Filtra(new List<Lance>() { new Lance(joao,200), new Lance(joao,400), new Lance(joao,300), new Lance(joao,150)}); resultado = resultado.OrderBy(l => l.ValorLance).ToList(); Assert.AreEqual(4, resultado.Count); Assert.AreEqual(150, resultado[0].ValorLance, 0.00001); }
public void DeveSelecionarLancesMaior5000() { Usuario joao = new Usuario("Joao"); FiltroDeLances filtro = new FiltroDeLances(); IList<Lance> resultado = filtro.Filtra(new List<Lance>() { new Lance(joao,6000), new Lance(joao,5005), new Lance(joao,7050), new Lance(joao, 800)}); resultado = resultado.OrderByDescending(l => l.ValorLance).ToList() ; Assert.AreEqual(3, resultado.Count); Assert.AreEqual(7050, resultado[0].ValorLance, 0.00001); }
public void DeveReceberVariosLances() { var leilao = new Leilao("Play Station 3 Novo"); var leonardo = new Usuario("Leonardo"); var leandro = new Usuario("Leandro"); leilao.Propoe(new Lance(leonardo, 1500)); leilao.Propoe(new Lance(leandro, 2000)); leilao.Propoe(new Lance(leonardo, 3000)); leilao.Propoe(new Lance(leandro, 3600)); Assert.AreEqual(4,leilao.Lances.Count); Assert.AreEqual(1500, leilao.Lances[0].ValorLance); Assert.AreEqual(3600, leilao.Lances[3].ValorLance); }
public CriadorDeLeiloes Lance(Usuario usuario, double valor) { this.leilao.Propoe(new TesteApplication.Lance(usuario, valor)); return this; }
public void MaximoCincoLancePorUsuarioDobraLance() { var leilao = new Leilao("Yamaha Fazer 250"); var tiao = new Usuario("Sebastiao"); var tiago = new Usuario("Tiago"); leilao.Propoe(new Lance(tiao, 1000)); leilao.Propoe(new Lance(tiago, 1100)); leilao.DobraLance(tiao); leilao.DobraLance(tiago); leilao.DobraLance(tiao); leilao.DobraLance(tiago); leilao.DobraLance(tiao); leilao.DobraLance(tiago); leilao.DobraLance(tiao); leilao.DobraLance(tiago); leilao.DobraLance(tiao); leilao.DobraLance(tiago); Assert.AreEqual(10, leilao.Lances.Count); Assert.AreEqual(tiago, leilao.Lances[leilao.Lances.Count - 1].Usuario); Assert.AreEqual(17600d, leilao.Lances[leilao.Lances.Count - 1].ValorLance); }
public void NaoDeveDobrarCasoNaoHajaLanceAnterior() { Leilao leilao = new Leilao("Macbook Pro 15"); Usuario steveJobs = new Usuario("Steve Jobs"); leilao.DobraLance(steveJobs); Assert.AreEqual(0, leilao.Lances.Count); }
public bool PodeDarLance(Usuario usuario) { return Lances.Count == 0 || (!UsuarioUltimoLance().Equals(usuario)) && (TotalLances(usuario) < 5); }