Add testcases for calling results to empty votes.
[rubyvote] / test / election_test.rb
index 7675e58..2afab27 100644 (file)
@@ -5,6 +5,11 @@ require 'rubyvote/election'
 
 class TestElectionVote < Test::Unit::TestCase
 
+  def test_plurality_empty
+    vote_array = []
+    assert_nil PluralityVote.new(vote_array).result.winners[0]
+  end
+  
   def test_plurality
     vote_array = "ABCABCABCCCBBAAABABABCCCCCCCCCCCCCA".split("")
 
@@ -21,6 +26,11 @@ class TestElectionVote < Test::Unit::TestCase
     assert_raise(InvalidVoteError) { PluralityVote.new(vote_array).result.winners[0] }
   end
   
+  def test_approval_empty
+    vote_array = []
+    assert_nil ApprovalVote.new(vote_array).result.winners[0]
+  end
+  
   def test_approval
     vote_array = Array.new
     10.times {vote_array << "AB".split("")}

Benjamin Mako Hill || Want to submit a patch?