Ejemplo n.º 1
0
        private VoteSummary getVoteSummary(VotingSystemResult votingSystemResult)
        {
            VoteSummary      summary    = new VoteSummary(votingSystemResult.votingSystem.name);
            List <Candidate> winnerList = votingSystemResult.getWinnerList();

            if (winnerList == null || winnerList.Count == 0)
            {
                summary.noWinnerFlag = true;
                return(summary);
            }

            if (winnerList.Count == 1)
            {
                summary.deviation = winnerList.First().voter.position.deviation;
                return(summary);
            }

            double averageDeviation = 0.0;

            foreach (Candidate winner in winnerList)
            {
                averageDeviation += winner.voter.position.deviation;
            }
            averageDeviation /= winnerList.Count;

            summary.deviation = averageDeviation;
            summary.tieFlag   = true;
            return(summary);
        }
Ejemplo n.º 2
0
        private void printResult(VotingSystemResult result)
        {
            List <Candidate> winnerList = result.getWinnerList();

            if (winnerList.Count == 0)
            {
                System.Console.WriteLine("{0}: No Winner", result.votingSystem.name);
                return;
            }

            if (winnerList.Count > 1)
            {
                System.Console.WriteLine("{0}: Tie", result.votingSystem.name);
                return;
            }

            Candidate winner = winnerList.First();

            System.Console.WriteLine("{0}: Winner is {1} with deviation {2}", result.votingSystem.name, winner.index, winner.voter.position.deviation);
        }