## the CloneproofSSDVote classes but should not be used directly.
class CondorcetVote < ElectionVote
-
+
attr_accessor :results
def initialize(votes=nil)
## directly.
class CondorcetResult < ElectionResult
+ attr_reader :matrix
+
def initialize(voteobj=nil)
unless voteobj and voteobj.kind_of?( CondorcetVote )
raise ArgumentError, "You must pass a CondorcetVote array.", caller
end
super(voteobj)
+ @matrix = voteobj.votes
end
protected
-
def defeats(candidates=nil, votes=nil)
candidates = @election.candidates unless candidates
votes = @election.votes unless votes
def condorcet
votes = @election.votes
candidates = @election.candidates
-
+ unless votes.length>0 and candidates.length>0
+ @winners=[]
+ return @winners
+ end
victors = Hash.new
candidates.each do |candidate|
victors[candidate] = Array.new
def initialize(voteobj=nil)
super(voteobj)
@winners = self.cpssd()
+ @winners.delete nil
end
protected