]> projects.mako.cc - rubyvote/blobdiff - test/range_test.rb
Fix problem with a [nil] result being taken as having a winner; add testcases
[rubyvote] / test / range_test.rb
index 953df78385b7f3de890e5b88fa59efa7854a3dfe..799ba3f84e37bb729846756f5a7895395408ba50 100644 (file)
@@ -1,11 +1,17 @@
-#!/usr/bin/ruby
+#!/usr/bin/ruby -Ilib
 
 require 'test/unit'
-require 'election_test_helper'
+require 'rubyvote/election'
+require 'rubyvote/range'
 
 class TestRangeVote < Test::Unit::TestCase
-  include ElectionTestHelper
 
+  def test_range_empty
+    vote_array = []
+    assert_nil RangeVote.new(vote_array).result.winners[0]
+    assert_equal(false, RangeVote.new(vote_array).result.winner?)
+  end
+  
   def test_range
     vote_array = []
     42.times {vote_array << {'A' => 10, 'B' => 5, 'C' => 2, 'D' => 1}}
@@ -13,7 +19,7 @@ class TestRangeVote < Test::Unit::TestCase
     15.times {vote_array << {'A' => 1, 'B' => 2, 'C' => 10, 'D' => 5}}
     17.times {vote_array << {'A' => 1, 'B' => 2, 'C' => 5, 'D' => 10}}
 
-    test_winner('B', RangeVote.new(vote_array).result )
+    assert_equal('B', RangeVote.new(vote_array).result.winners[0] )
   end
 
   def test_tie
@@ -21,12 +27,12 @@ class TestRangeVote < Test::Unit::TestCase
     10.times {vote_array << {'A' => 5, 'B' => 2}}
     10.times {vote_array << {'A' => 2, 'B' => 5}}
 
-    test_winner(['A','B'], RangeVote.new(vote_array).result )
+    assert_equal(['A','B'], RangeVote.new(vote_array).result.winners )
   end
 
   def test_no_win
     vote_array = []
 
-    test_winner(nil, RangeVote.new(vote_array).result )
+    assert_equal(nil, RangeVote.new(vote_array).result.winners[0] )
   end
 end

Benjamin Mako Hill || Want to submit a patch?