public void should_return_Rodrigo_as_winner_when_only_Rodrigo_receives_votes() { //Given var election = new Election(); var candidateRodrigo = new Candidates("Rodrigo", "000.123.452-00", 0); var candidateMaria = new Candidates("Maria", "112.342.543-88", 0); var cantidatesList = new List <Candidates>() { candidateRodrigo, candidateMaria }; //When election.CreateCandidates(cantidatesList, "Pa$$w0rd"); // cria-se candidatos //joseId recebe o retorno do metodo GetCandidateIdByName por meio do election var rodrigoId = election.GetCandidateIdByName("Rodrigo"); var mariaId = election.GetCandidateIdByName("Maria"); // Given candidateRodrigo.Vote(); candidateRodrigo.Vote(); // election.Vote(election.Candidates.ElementAt(0).Id); // election.Vote(election.Candidates.ElementAt(0).Id); // When var winners = election.GetWinners(); //Then Assert.True(winners.Count == 1); Assert.Equal(election.Candidates.ElementAt(0).Id, winners[0].Id); Assert.Equal(2, winners[0].Votes); }
public void should_return_both_candidates_when_occurs_draw() { var election = new Election(); var candidateRodrigo = new Candidates("Rodrigo", "000.123.452-00", 0); var candidateMaria = new Candidates("Maria", "112.342.543-88", 0); var cantidatesList = new List <Candidates>() { candidateRodrigo, candidateMaria }; //When election.CreateCandidates(cantidatesList, "Pa$$w0rd"); // cria-se candidatos var rodrigoId = election.GetCandidateIdByName("Rodrigo"); var mariaId = election.GetCandidateIdByName("Maria"); //To vote candidateRodrigo.Vote(); candidateMaria.Vote(); // Quando / Ação var winners = election.GetWinners(); // Deve / Asserções Assert.Equal(election.Candidates.ElementAt(0).Id, winners[0].Id); Assert.Equal(election.Candidates.ElementAt(1).Id, winners[1].Id); Assert.Equal(election.Candidates.ElementAt(0).Votes, 1); //Should election.Candidates.ElementAt(0).Votes.ShouldEqual(1); election.Candidates.ElementAt(0).Votes.ShouldNotBeSameAs(election.Candidates.ElementAt(1).Votes); }
public void should_vote_twice_in_candidate_José() { var election = new Election(); var jose = new Candidate("José", "009.923.970-14"); var ana = new Candidate("Ana", "852.710.650-73"); var candidates = new List <Candidate>() { jose, ana }; election.CreateCandidates(candidates, "Pa$$w0rd"); var joseId = election.GetCandidateIdByName(jose.Name); var anaId = election.GetCandidateIdByName(ana.Name); jose.Vote(); jose.Vote(); var candidateJose = election.Candidates.First(x => x.Id == joseId); var candidateAna = election.Candidates.First(x => x.Id == anaId); Assert.Equal(2, candidateJose.Votes); Assert.Equal(0, candidateAna.Votes); }
public void should_vote_twice_in_candidate_Jose() { //Given var election = new Election(); var candidateRodrigo = new Candidates("Rodrigo", "000.123.452-00", 0); var candidateMaria = new Candidates("Maria", "112.342.543-88", 0); var cantidatesList = new List <Candidates>() { candidateRodrigo, candidateMaria }; //When election.CreateCandidates(cantidatesList, "Pa$$w0rd"); // cria-se candidatos //joseId recebe o retorno do metodo GetCandidateIdByName por meio do election var rodrigoId = election.GetCandidateIdByName("Rodrigo"); var mariaId = election.GetCandidateIdByName("Maria"); //when candidateRodrigo.Vote(); candidateRodrigo.Vote(); // election.Vote(election.Candidates.ElementAt(0).Id); // election.Vote(election.Candidates.ElementAt(0).Id); //Then Assert.Equal(2, election.Candidates.ElementAt(0).Votes); Assert.Equal(0, election.Candidates.ElementAt(1).Votes); }
public void should_return_both_candidates_when_occurs_draw() { var election = new Election(); var jose = new Candidate("José", "009.923.970-14"); var ana = new Candidate("Ana", "852.710.650-73"); var candidates = new List <Candidate> { jose, ana }; election.CreateCandidates(candidates, "Pa$$w0rd"); var joseId = election.GetCandidateIdByName("José"); var anaId = election.GetCandidateIdByName("Ana"); ana.Vote(); jose.Vote(); var winners = election.GetWinners(); var candidateJose = winners.Find(x => x.Id == joseId); var candidateAna = winners.Find(x => x.Id == anaId); Assert.Equal(1, candidateJose.Votes); Assert.Equal(1, candidateAna.Votes); }
public void should_return_different_ids() { //Given var election = new Election(); var candidateJose = new Candidate("José", "588.998.190-00", 0); var candidateMaria = new Candidate("Maria", "400.303.750-29", 0); var cantidatesList = new List<Candidate>() { candidateJose, candidateMaria }; //When var candidates = election.CreateCandidates(cantidatesList, "Pa$$w0rd"); // cria-se candidatos //joseId recebe o retorno do metodo GetCandidateIdByName por meio do election var joseId = election.GetCandidateIdByName("José"); var mariaId = election.GetCandidateIdByName("Maria"); //Then Assert.NotEqual(joseId, mariaId); }
public void Should_return_False_and_not_Vote_if_cpf_is_invalid() { var election = new Election(); var candidateRodrigo = new Candidate("Rodrigo", "910.371.860-36", 0); var candidateMaria = new Candidate("Maria", "764.122.990-50", 0); var cantidatesList = new List<Candidate>() { candidateRodrigo, candidateMaria }; //When election.CreateCandidates(cantidatesList, "Pa$$w0rd"); // cria-se candidatos var rodrigoId = election.GetCandidateIdByName("Rodrigo"); var mariaId = election.GetCandidateIdByName("Maria"); //To vote candidateRodrigo.Vote(); candidateMaria.Vote(); // Quando / Ação var winners = election.GetWinners(); // Deve / Asserções Assert.Equal(election.Candidate.ElementAt(0).Id, winners[0].Id); Assert.Equal(election.Candidate.ElementAt(1).Id, winners[1].Id); Assert.Equal(election.Candidate.ElementAt(0).Votes, 1); //Should election.Candidate.ElementAt(0).Votes.ShouldEqual(1); election.Candidate.ElementAt(0).Votes.ShouldNotBeSameAs(election.Candidate.ElementAt(1).Votes); }
public void should_create_candidates_when_password_is_correct() { var election = new Election(); var candidates = new List <Candidate> { new Candidate("José", "009.923.970-14"), new Candidate("Ana", "852.710.650-73") }; var created = election.CreateCandidates(candidates, "Pa$$w0rd"); var candidateJose = election.GetCandidateIdByName("José"); var candidateAna = election.GetCandidateIdByName("Ana"); Assert.True(created); Assert.Equal(2, election.Candidates.Count); Assert.NotEqual(candidateJose, candidateAna); }
public void should_return_Ana_as_winner_when_only_Ana_receives_votes() { var election = new Election(); var ana = new Candidate("Ana", "852.710.650-73"); var jose = new Candidate("José", "077.286.334-18"); var candidates = new List <Candidate>() { ana, jose }; election.CreateCandidates(candidates, "Pa$$w0rd"); var anaId = election.GetCandidateIdByName("Ana"); ana.Vote(); ana.Vote(); var winners = election.GetWinners(); Assert.Equal(1, winners.Count); Assert.Equal(anaId, winners[0].Id); }