public void ObterContagemRestauranteMaisVotadoTeste() { // 1. Seta o dia com uma data válida. Dia dia = new Dia(new DateTime(2015, 08, 11), null); // 2. Cadastra 5 colaboradores Colaborador colaborador1 = new Colaborador( 1000, "Colaborador Um", "*****@*****.**", "senha1"); Colaborador colaborador2 = new Colaborador( 2000, "Colaborador Dois", "*****@*****.**", "senha2"); Colaborador colaborador3 = new Colaborador( 3000, "Colaborador Três", "*****@*****.**", "senha3"); Colaborador colaborador4 = new Colaborador( 4000, "Colaborador Quatro", "*****@*****.**", "senha4"); Colaborador colaborador5 = new Colaborador( 5000, "Colaborador Cinco", "*****@*****.**", "senha5"); dia.VerificarRestaurantes(); // 3. Cadastra dois restaurantes Morte Lenta e Bandejão. Restaurante morteLenta = new Restaurante( 1000, "Morte Lenta"); Restaurante bandejao = new Restaurante( 2000, "Bandejão"); // 4. Contabiliza os votos de cada colaborador para seu restaurante preferido. // Voto(Colaborador, Restaurante) dia.Voto(colaborador3, bandejao); dia.Voto(colaborador1, morteLenta); dia.Voto(colaborador4, morteLenta); dia.Voto(colaborador2, morteLenta); dia.Voto(colaborador5, bandejao); // 5. Pergunta se o Nome do Restaurante mais votados é igual ao Bandejão. // O restaurante mais votado do dia é igual ao 3000 (Morte Lenta). // 5 votos contabilizados: 3 votos para o Morte lenta e 2 para o Bandejão. Assert.AreEqual(dia.ObterRestauranteMaisVotado(), morteLenta.Id); }
// Cria-se 6 restaurante fictícios e insere numa lista para carregar na tela. static Restaurante() { // 1. Cria-se os objetos. Restaurante morteLenta = new Restaurante( 1000, "Morte Lenta"); Restaurante bandejao = new Restaurante( 2000, "Bandejão"); Restaurante tiaLouca = new Restaurante( 3000, "Restaurante da Tia Louca"); Restaurante gangueCalcaBranca = new Restaurante( 4000, "Gangue da Calça Branca"); Restaurante voceNaoTemCoragem = new Restaurante( 5000, "Você Não Tem Coragem"); Restaurante carpano = new Restaurante( 6000, "Carpano Restaurante"); // 2. Insere-os na lista de Restaurantes a serem votados. Restaurantes = new List<Restaurante>(); Restaurantes.Add(gangueCalcaBranca); Restaurantes.Add(voceNaoTemCoragem); Restaurantes.Add(tiaLouca); Restaurantes.Add(bandejao); Restaurantes.Add(morteLenta); Restaurantes.Add(carpano); }
private List<Restaurante> AjustarRestaurantes(List<Restaurante> Restaurantes, Restaurante restauranteMaisVotado) { // Se não teve votação e nenhum restaurante foi escolhido, retorna a lista de todos dos restaurantes cadastrados. if (restauranteMaisVotado == null && DiaAnterior.Restaurantes.Count.Equals(0)) Restaurantes = Restaurante.Restaurantes; // Se mesmo assim não teve nenhum voto para o restaurante, vai retornar a lista com os restaurantes do dia anterior. else if (restauranteMaisVotado == null) Restaurantes = DiaAnterior.Restaurantes; else { // Busca os restaurantes votados no dia anterior. List<Restaurante> restaurantesAnteriores = DiaAnterior.Restaurantes; // Faz uma cópia dos restaurantes anteriores List<Restaurante> copiaRestaurantesAnteriores = new List<Restaurante>(restaurantesAnteriores); // Remove da lista dos restaurantes anteriores os mais votados. copiaRestaurantesAnteriores.Remove(restauranteMaisVotado); // Então retorna a lista de restaurantes sem os mais votados, por consequência não se exibe mais // para o colaborador votar. Restaurantes = copiaRestaurantesAnteriores; } return Restaurantes; }
public void Voto(Colaborador colaborador, Restaurante restaurante) { // Verifica se o colaborador já votou. "Um profissional só pode votar em um restaurante por dia." if (!ColaboradorVotou(colaborador)) Votos.Add(colaborador, restaurante); }
public void ObterRestauranteMaisVotadoTeste() { Dia dia = new Dia(new DateTime(2015, 08, 10), null); Colaborador colaborador1 = new Colaborador( 1000, "Colaborador Um", "*****@*****.**", "senha1"); Colaborador colaborador2 = new Colaborador( 2000, "Colaborador Dois", "*****@*****.**", "senha2"); Colaborador colaborador3 = new Colaborador( 3000, "Colaborador Três", "*****@*****.**", "senha3"); Colaborador colaborador4 = new Colaborador( 4000, "Colaborador Quatro", "*****@*****.**", "senha4"); Colaborador colaborador5 = new Colaborador( 5000, "Colaborador Cinco", "*****@*****.**", "senha5"); dia.VerificarRestaurantes(); Restaurante morteLenta = new Restaurante( 1000, "Morte Lenta"); Restaurante bandejao = new Restaurante( 2000, "Bandejão"); Restaurante carpano = new Restaurante( 6000, "Carpano Restaurante"); Restaurante gangueCalcaBranca = new Restaurante( 4000, "Gangue da Calça Branca"); Restaurante tiaLouca = new Restaurante( 3000, "Restaurante da Tia Louca"); // Resultado: Bandejão = 3, Morte Lenta = 2, Carpano = 2, Gangue da Calça Branca = 1, Tia Louca = 2 dia.Voto(colaborador1, morteLenta); dia.Voto(colaborador2, morteLenta); dia.Voto(colaborador3, bandejao); dia.Voto(colaborador4, carpano); dia.Voto(colaborador5, gangueCalcaBranca); dia.Voto(colaborador1, bandejao); dia.Voto(colaborador3, carpano); dia.Voto(colaborador2, bandejao); dia.Voto(colaborador5, tiaLouca); dia.Voto(colaborador4, tiaLouca); Assert.AreEqual(dia.ObterRestauranteMaisVotado().Id, bandejao.Id); }
public void TestarVotacaoESeOColaboradorJaVotouTeste() { Dia dia = new Dia(new DateTime(2015, 08, 5), null); Colaborador colaborador1 = new Colaborador( 1000, "Colaborador Um", "*****@*****.**", "senha1"); // Todos os restaurantes disponíveis no dia. dia.VerificarRestaurantes(); Restaurante morteLenta = new Restaurante( 1000, "Morte Lenta"); // Voto(Colaborador colaborador, Restaurante restaurante) dia.Voto(colaborador1, morteLenta); Assert.IsTrue(dia.ColaboradorVotou(colaborador1)); }
public void RestauranteEscolhidoUmaVezSomenteNaSemanaTeste() { // 1. Vamos setar o dia 27 de Agosto, quinta-feira. Null, significa que no dia anterior não // houve votação. Dia dia = new Dia(new DateTime(2015, 8, 27), null); // 2. Criamos os 5 colaboradores Colaborador colaborador1 = new Colaborador( 1000, "Colaborador Um", "*****@*****.**", "senha1"); Colaborador colaborador2 = new Colaborador( 2000, "Colaborador Dois", "*****@*****.**", "senha2"); Colaborador colaborador3 = new Colaborador( 3000, "Colaborador Três", "*****@*****.**", "senha3"); Colaborador colaborador4 = new Colaborador( 4000, "Colaborador Quatro", "*****@*****.**", "senha4"); Colaborador colaborador5 = new Colaborador( 5000, "Colaborador Cinco", "*****@*****.**", "senha5"); // 3. Verificamos os restaurantes do dia. Vai trazer os 6 cadastrados, pois o dia // foi passado como null. Observe o item 1. (Dia dia = new Dia(new DateTime(2015, 8, 27), null). dia.VerificarRestaurantes(); // 4. Vamos criar dois para a votação. Restaurante morteLenta = new Restaurante( 1000, "Morte Lenta"); Restaurante bandejao = new Restaurante( 2000, "Bandejão"); // 5. Espera-se encontrar 6 restaurantes na lista dia.Restaurantes. Assert.AreEqual(dia.Restaurantes.Count, 6); // 6. Vamos votar agora duas vezes no "Morte Lenta" e uma vez no "Bandejão". dia.Voto(colaborador1, morteLenta); dia.Voto(colaborador2, morteLenta); dia.Voto(colaborador3, bandejao); // 7. O próximo dia será 28 de Agosto, sexta-feira. Dia proximoDia = new Dia(new DateTime(2015, 8, 28), dia); // 8. Nesta verificação serão passados 3 votos na sexta-feira. O mais votado foi o "Morte Lenta". // A lista de restaurantes retorna com 5, ou seja sem o "Morte Lenta". proximoDia.VerificarRestaurantes(); Assert.AreEqual(proximoDia.Restaurantes.Count, 5); }