4 require 'rubyvote/election'
5 require 'rubyvote/condorcet'
7 class TestCondorcetVote < Test::Unit::TestCase
10 vote_array = Array.new
11 3.times {vote_array << "ABC".split("")}
12 3.times {vote_array << "CBA".split("")}
13 2.times {vote_array << "BAC".split("")}
15 assert_equal ["B"], PureCondorcetVote.new(vote_array).result.winners[0]
19 vote_array = Array.new
20 5.times {vote_array << "ACBED".split("")}
21 5.times {vote_array << "ADECB".split("")}
22 8.times {vote_array << "BEDAC".split("")}
23 3.times {vote_array << "CABED".split("")}
24 7.times {vote_array << "CAEBD".split("")}
25 2.times {vote_array << "CBADE".split("")}
26 7.times {vote_array << "DCEBA".split("")}
27 8.times {vote_array << "EBADC".split("")}
29 assert_equal "E", CloneproofSSDVote.new(vote_array).result.winners[0]
33 vote_array = Array.new
34 5.times {vote_array << "ACBD".split("")}
35 2.times {vote_array << "ACDB".split("")}
36 3.times {vote_array << "ADCB".split("")}
37 4.times {vote_array << "BACD".split("")}
38 3.times {vote_array << "CBDA".split("")}
39 3.times {vote_array << "CDBA".split("")}
40 1.times {vote_array << "DACB".split("")}
41 5.times {vote_array << "DBAC".split("")}
42 4.times {vote_array << "DCBA".split("")}
44 assert_equal "D", CloneproofSSDVote.new(vote_array).result.winners[0]
48 vote_array = Array.new
49 3.times {vote_array << "ABCD".split("")}
50 2.times {vote_array << "DABC".split("")}
51 2.times {vote_array << "DBCA".split("")}
52 2.times {vote_array << "CBDA".split("")}
54 assert_equal "B", CloneproofSSDVote.new(vote_array).result.winners[0]