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); }
static Colaborador() { // 1. Criam-se 5 colaboradores fictícios, já que não existe banco de dados. Colaborador colaborador1 = new Colaborador( "1000", "Colaborador Um", "*****@*****.**", ObterSenha("senha1")); // 2. Coloca-se estes 5 colabores numa lista. Colaboradores = new List<Colaborador>(); Colaboradores.Add(colaborador1); }
static Colaborador() { // 1. Criam-se 5 colaboradores fictícios, já que não existe banco de dados. Colaborador colaborador1 = new Colaborador( 1000, "Colaborador Um", "*****@*****.**", ObterSenha("senha1")); Colaborador colaborador2 = new Colaborador( 2000, "Colaborador Dois", "*****@*****.**", ObterSenha("senha2")); Colaborador colaborador3 = new Colaborador( 3000, "Colaborador Três", "*****@*****.**", ObterSenha("senha3")); Colaborador colaborador4 = new Colaborador( 4000, "Colaborador Quatro", "*****@*****.**", ObterSenha("senha4")); Colaborador colaborador5 = new Colaborador( 5000, "Colaborador Cinco", "*****@*****.**", ObterSenha("senha5")); // 2. Coloca-se estes 5 colabores numa lista. Colaboradores = new List<Colaborador>(); Colaboradores.Add(colaborador1); Colaboradores.Add(colaborador2); Colaboradores.Add(colaborador3); Colaboradores.Add(colaborador4); Colaboradores.Add(colaborador5); }
// Um profissional só pode votar em um restaurante por dia. public bool ColaboradorVotou(Colaborador colaborador) { // Retorna TRUE se encontrar algum colaborador na lista que já tenha votado no dia. return Votos.Keys.Where(c => c.Id.Equals(colaborador.Id)).ToList().Count != 0; }
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); }
public static bool IsValid(string username, string password) { using (var cn = new SqlConnection( @"Data Source=(LocalDB)\v11.0; AttachDbFilename='C:\Cursos\DB Server\Teste-DBServer\RestauranteVotacao\App_Data\Database.mdf'; Integrated Security=True")) { string _sql = @"SELECT * FROM [dbo].[User] WHERE [Name] = @usr AND [Password] = @pwd"; var cmd = new SqlCommand(_sql, cn); cmd.Parameters .Add(new SqlParameter("@usr", SqlDbType.NVarChar)) .Value = username; cmd.Parameters .Add(new SqlParameter("@pwd", SqlDbType.NVarChar)) .Value = Helpers.MD5.Encode(password); cn.Open(); SqlDataReader reader = cmd.ExecuteReader(); if (reader.HasRows) { while (reader.Read()) { // Carrego o objeto Colaborador com o resultado do select para usar mais tarde. colaborador = new Colaborador( reader.GetValue(2).ToString(), reader.GetValue(1).ToString(), reader.GetValue(0).ToString(), reader.GetValue(3).ToString()); } reader.Dispose(); cmd.Dispose(); return true; } else { reader.Dispose(); cmd.Dispose(); return false; } } }