]> projects.mako.cc - rubyvote/blobdiff - test/election_test.rb
Created victories_and_ties method for table use.
[rubyvote] / test / election_test.rb
index e8a9c452f1cb7c8f1f2993d66591e32f61692ab4..26d8b917bd548c686ef7e0f20a31128b6ff8e81f 100644 (file)
@@ -5,13 +5,34 @@ require 'rubyvote/election'
 
 class TestElectionVote < Test::Unit::TestCase
 
+  def test_plurality_empty
+    vote_array = []
+    assert_nil PluralityVote.new(vote_array).result.winners[0]
+    assert_equal(false, PluralityVote.new(vote_array).result.winner?)
+  end
+  
   def test_plurality
     vote_array = "ABCABCABCCCBBAAABABABCCCCCCCCCCCCCA".split("")
 
     assert_equal( "C", PluralityVote.new(vote_array).result.winners[0] )
   end
 
+  def test_plurality_nonstring
+    vote_array = [1,2,3,1,1,1,2,3]
+    assert_equal( 1, PluralityVote.new(vote_array).result.winners[0] )
+  end
 
+  def test_invalid_voteobj
+    vote_array = [1,2,nil,1]
+    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]
+    assert_equal(false, ApprovalVote.new(vote_array).result.winner?)
+  end
+  
   def test_approval
     vote_array = Array.new
     10.times {vote_array << "AB".split("")}

Benjamin Mako Hill || Want to submit a patch?