casted_vote = election.candidate_ids.sort_by {rand} #Shuffles
assert_cast_quickvote_succeeds "TestVote", 42, [casted_vote]
end
+ def test_get_nonexistent_quickvote
+ assert_raises ArgumentError do
+ qv = invoke_delegated :vote, :get_quickvote, "asdfasdfasdf"
+ end
+ end
def test_cast_mass_quickvote
test_create_quickvote
election = invoke_delegated :vote, :get_quickvote, "TestVote"
assert_cast_quickvote_succeeds "TestVote", t, [casted_vote]
end
end
+ def test_cast_quickvote_nonexistent
+ assert_cast_quickvote_fails "ASDFJOFASF", "me", [1,2,3]
+ end
+ def test_cast_quickvote_nonexistent_candidates
+ test_create_quickvote
+ election = invoke_delegated :vote, :get_quickvote, "TestVote"
+ assert_cast_quickvote_fails "TestVote", 42, [123,342314,5342,1,1,2]
+ end
def test_create_mass_quickvote
10.times do |t|
election = ElectionStruct.new :name => "test#{t}", :description => "Test Vote", :candidate_names => ["Apple", "Orange", "Banana", "Pineapple"]
vote = [candidates["justin"], candidates["mako"], candidates["jdong"]]
assert_cast_quickvote_succeeds "favdev", "3:#{t}", [vote]
end
- results=invoke_delegated(:vote, :get_quickvote_results, "favdev")
+ results=nil
+ assert_nothing_raised {results=invoke_delegated(:vote, :get_quickvote_results, "favdev")}
assert_equal results.approval_winners, [candidates["mako"]]
assert_equal results.borda_winners, [candidates["jdong"]]
assert_equal results.plurality_winners, [candidates["jdong"]]
assert_equal results.condorcet_winners, [candidates["jdong"]]
assert_equal results.ssd_winners, [candidates["jdong"]]
- assert_equal results.errors.length, 0
end
private
def assert_cast_quickvote_succeeds(shortname, id, vote)
- old_votes = invoke_delegated :vote, :get_quickvote_votes, shortname
assert_nothing_raised do
+ old_votes = invoke_delegated :vote, :get_quickvote_votes, shortname
invoke_delegated :vote, :cast_quickvote, shortname, id, vote
+ new_votes = invoke_delegated :vote, :get_quickvote_votes, shortname
+ assert_equal old_votes.length, new_votes.length-1
+ assert_not_nil(reflection = new_votes.find_all { |v| v.voter_session_id == "XMLRPC:#{id}" })
+ assert_equal reflection.length, 1
+ assert_equal reflection[0].vote, vote[0]
end
- new_votes = invoke_delegated :vote, :get_quickvote_votes, shortname
- assert_equal old_votes.length, new_votes.length-1
- assert_not_nil(reflection = new_votes.find_all { |v| v.voter_session_id == "XMLRPC:#{id}" })
- assert_equal reflection.length, 1
- assert_equal reflection[0].vote, vote[0]
end
def assert_cast_quickvote_fails(shortname, id, vote)
- assert_raises Test::Unit::AssertionFailedError do
+ assert_raise Test::Unit::AssertionFailedError do
assert_cast_quickvote_succeeds(shortname, id, vote)
end
end
def assert_create_quickvote_succeeds(election)
# Checks if a created quickvote is identical when retrieved
- old_len=invoke_delegated(:vote,:list_quickvotes).length
- result=""
assert_nothing_raised do
+ old_len=invoke_delegated(:vote,:list_quickvotes).length
result = invoke_delegated :vote, :create_quickvote, election
+ assert_equal result, ""
+ reflection = invoke_delegated :vote, :get_quickvote, election.name
+ assert_equal election.description, reflection.description
+ assert_equal 0, election.name.casecmp(reflection.name)
+ assert_equal election.candidate_names, reflection.candidate_names
+ assert_equal(invoke_delegated(:vote,:list_quickvotes).length, old_len+1)
end
- assert_equal result, ""
- reflection = invoke_delegated :vote, :get_quickvote, election.name
- assert_equal election.description, reflection.description
- assert_equal 0, election.name.casecmp(reflection.name)
- assert_equal election.candidate_names, reflection.candidate_names
- assert_equal(invoke_delegated(:vote,:list_quickvotes).length, old_len+1)
end
def assert_create_quickvote_fails(election)
- assert_raises Test::Unit::AssertionFailedError do
+ assert_raise Test::Unit::AssertionFailedError do
assert_create_quickvote_succeeds election
end
end