X-Git-Url: https://projects.mako.cc/source/rubyvote/blobdiff_plain/863282d853f14245e6b494a5556e98e461b856cb..60344b51d7e6c505492183b79b96b76216c95072:/test.rb diff --git a/test.rb b/test.rb index f87e41d..6b0b5c1 100755 --- a/test.rb +++ b/test.rb @@ -18,10 +18,7 @@ # Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA # 02110-1301, USA. -require 'election' -require 'condorcet' -require 'positional' -require 'runoff' +require 'lib/rubyvote' def print_winner(result) if not result.winner? @@ -129,8 +126,8 @@ def approval_test1 print_winner( ApprovalVote.new(vote_array).result ) end -def runoff_test1 - puts "USING RUNOFF..." +def irv_test1 + puts "USING IRV..." puts "The winner shold be: A" vote_array = Array.new @@ -142,8 +139,8 @@ def runoff_test1 print_winner( InstantRunoffVote.new(vote_array).result ) end -def runoff_test2 - puts "USING RUNOFF..." +def irv_test2 + puts "USING IRV..." puts "The winner shold be: D" vote_array = Array.new @@ -155,8 +152,8 @@ def runoff_test2 print_winner( InstantRunoffVote.new(vote_array).result ) end -def runoff_test3 - puts "USING RUNOFF..." +def irv_test3 + puts "USING IRV..." puts "The winner shold be: C" vote_array = Array.new @@ -183,6 +180,32 @@ def runoff_test3 print_winner( InstantRunoffVote.new(vote_array).result ) end +def irvlogic_test1 + puts "USING IRV LOGIC..." + puts "The winner shold be: B" + + vote_array = Array.new + 42.times {vote_array << "ABCD".split("")} + 26.times {vote_array << "BCDA".split("")} + 15.times {vote_array << "CDBA".split("")} + 15.times {vote_array << "DCBA".split("")} + + print_winner( InstantRunoffLogicVote.new(vote_array).result ) +end + +def range_test1 + puts "USING RANGE..." + puts "The winner shold be: B" + + vote_array = Array.new + 42.times {vote_array << {:A => 10, :B => 5, :C => 2, :D => 1}} + 26.times {vote_array << {:A => 1, :B => 10, :C => 5, :D => 2}} + 15.times {vote_array << {:A => 1, :B => 2, :C => 10, :D => 5}} + 17.times {vote_array << {:A => 1, :B => 2, :C => 5, :D => 10}} + + print_winner( RangeVote.new(vote_array).result ) +end + condorcet_test1() ssd_test1() ssd_test2() @@ -190,6 +213,8 @@ ssd_test3() borda_test1() plurality_test1() approval_test1() -runoff_test1() -runoff_test2() -runoff_test3() +irv_test1() +irv_test2() +irv_test3() +irvlogic_test1() +range_test1()