mirror of
https://github.com/jcwimer/wrestlingApp
synced 2026-03-25 01:14:43 +00:00
Fixed bug for deducted points and fastest pin. Also added tests to test against those bugs
This commit is contained in:
@@ -46,7 +46,7 @@ class PoolOrder
|
|||||||
|
|
||||||
def breakTie
|
def breakTie
|
||||||
originalTieSize = wrestlersWithSamePoints.size
|
originalTieSize = wrestlersWithSamePoints.size
|
||||||
#ifWrestlersWithSamePointsIsSameAsOriginal(originalTieSize) { deductedPoints }
|
ifWrestlersWithSamePointsIsSameAsOriginal(originalTieSize) { deductedPoints }
|
||||||
if originalTieSize == 2
|
if originalTieSize == 2
|
||||||
ifWrestlersWithSamePointsIsSameAsOriginal(originalTieSize) { headToHead }
|
ifWrestlersWithSamePointsIsSameAsOriginal(originalTieSize) { headToHead }
|
||||||
end
|
end
|
||||||
@@ -138,14 +138,6 @@ class PoolOrder
|
|||||||
wr.save
|
wr.save
|
||||||
addPoints(wr)
|
addPoints(wr)
|
||||||
end
|
end
|
||||||
|
|
||||||
wrestlersWithSecondFastestPin = wrestlersWithSamePointsWithPins.select{|w| w.fastest_pin.pin_time_in_seconds == secondFastest.pin_time_in_seconds}
|
|
||||||
addPointsToWrestlersAhead(wrestlersWithSecondFastestPin.first)
|
|
||||||
wrestlersWithSecondFastestPin.each do |wr|
|
|
||||||
wr.pool_placement_tiebreaker = "Pin Time"
|
|
||||||
wr.save
|
|
||||||
addPoints(wr)
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
||||||
|
|||||||
@@ -63,6 +63,24 @@ class PoolAdvancementTest < ActionDispatch::IntegrationTest
|
|||||||
end_match(match_wrestler_vs("Test5","Test6"),"Test5")
|
end_match(match_wrestler_vs("Test5","Test6"),"Test5")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def finishWithTieMostTeamPointsTwoWayTie
|
||||||
|
end_match_with_pin(match_wrestler_vs("Test1","Test2"),"Test1")
|
||||||
|
end_match_with_pin(match_wrestler_vs("Test1","Test3"),"Test3")
|
||||||
|
end_match(match_wrestler_vs("Test1","Test4"),"Test1")
|
||||||
|
end_match(match_wrestler_vs("Test1","Test5"),"Test1")
|
||||||
|
end_match(match_wrestler_vs("Test1","Test6"),"Test1")
|
||||||
|
end_match(match_wrestler_vs("Test2","Test3"),"Test2")
|
||||||
|
end_match(match_wrestler_vs("Test2","Test4"),"Test2")
|
||||||
|
end_match(match_wrestler_vs("Test2","Test5"),"Test2")
|
||||||
|
end_match(match_wrestler_vs("Test2","Test6"),"Test2")
|
||||||
|
end_match(match_wrestler_vs("Test3","Test4"),"Test3")
|
||||||
|
end_match(match_wrestler_vs("Test3","Test5"),"Test3")
|
||||||
|
end_match(match_wrestler_vs("Test3","Test6"),"Test3")
|
||||||
|
end_match(match_wrestler_vs("Test4","Test5"),"Test4")
|
||||||
|
end_match(match_wrestler_vs("Test4","Test6"),"Test4")
|
||||||
|
end_match(match_wrestler_vs("Test5","Test6"),"Test5")
|
||||||
|
end
|
||||||
|
|
||||||
def finishedWithTieMostFalls
|
def finishedWithTieMostFalls
|
||||||
#Test1 has 12 points
|
#Test1 has 12 points
|
||||||
#Test2 has 12 points
|
#Test2 has 12 points
|
||||||
@@ -129,6 +147,28 @@ class PoolAdvancementTest < ActionDispatch::IntegrationTest
|
|||||||
end_match(match_wrestler_vs("Test5","Test6"),"Test5")
|
end_match(match_wrestler_vs("Test5","Test6"),"Test5")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def finishedWithTieQuickestPinTwoWayTie
|
||||||
|
#Test1 has 5:20 of pin time
|
||||||
|
#Test2 has 9:20 of pin time
|
||||||
|
#Test3 has 5:20 of pin time
|
||||||
|
|
||||||
|
end_match_with_pin(match_wrestler_vs("Test1","Test2"),"Test1")
|
||||||
|
end_match_with_pin(match_wrestler_vs("Test1","Test3"),"Test3")
|
||||||
|
end_match_with_quick_pin(match_wrestler_vs("Test1","Test4"),"Test1")
|
||||||
|
end_match_with_quick_pin(match_wrestler_vs("Test1","Test5"),"Test1")
|
||||||
|
end_match_with_quick_pin(match_wrestler_vs("Test1","Test6"),"Test1")
|
||||||
|
end_match_with_pin(match_wrestler_vs("Test2","Test3"),"Test2")
|
||||||
|
end_match_with_quick_pin(match_wrestler_vs("Test2","Test4"),"Test2")
|
||||||
|
end_match_with_quick_pin(match_wrestler_vs("Test2","Test5"),"Test2")
|
||||||
|
end_match_with_quick_pin(match_wrestler_vs("Test2","Test6"),"Test2")
|
||||||
|
end_match_with_quick_pin(match_wrestler_vs("Test3","Test4"),"Test3")
|
||||||
|
end_match_with_quick_pin(match_wrestler_vs("Test3","Test5"),"Test3")
|
||||||
|
end_match_with_quick_pin(match_wrestler_vs("Test3","Test6"),"Test3")
|
||||||
|
end_match(match_wrestler_vs("Test4","Test5"),"Test4")
|
||||||
|
end_match(match_wrestler_vs("Test4","Test6"),"Test4")
|
||||||
|
end_match(match_wrestler_vs("Test5","Test6"),"Test5")
|
||||||
|
end
|
||||||
|
|
||||||
def finishedWithTieCoinFlip
|
def finishedWithTieCoinFlip
|
||||||
end_match(match_wrestler_vs("Test1","Test2"),"Test1")
|
end_match(match_wrestler_vs("Test1","Test2"),"Test1")
|
||||||
end_match(match_wrestler_vs("Test1","Test3"),"Test3")
|
end_match(match_wrestler_vs("Test1","Test3"),"Test3")
|
||||||
@@ -147,6 +187,69 @@ class PoolAdvancementTest < ActionDispatch::IntegrationTest
|
|||||||
end_match(match_wrestler_vs("Test5","Test6"),"Test5")
|
end_match(match_wrestler_vs("Test5","Test6"),"Test5")
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def finishedWithDeductedPoints
|
||||||
|
team_point_adjusts_for_wrestler("Test2", 1)
|
||||||
|
team_point_adjusts_for_wrestler("Test3", 2)
|
||||||
|
|
||||||
|
end_match(match_wrestler_vs("Test1","Test2"),"Test1")
|
||||||
|
end_match(match_wrestler_vs("Test1","Test3"),"Test3")
|
||||||
|
end_match(match_wrestler_vs("Test1","Test4"),"Test1")
|
||||||
|
end_match(match_wrestler_vs("Test1","Test5"),"Test1")
|
||||||
|
end_match(match_wrestler_vs("Test1","Test6"),"Test1")
|
||||||
|
end_match(match_wrestler_vs("Test2","Test3"),"Test2")
|
||||||
|
end_match(match_wrestler_vs("Test2","Test4"),"Test2")
|
||||||
|
end_match(match_wrestler_vs("Test2","Test5"),"Test2")
|
||||||
|
end_match(match_wrestler_vs("Test2","Test6"),"Test2")
|
||||||
|
end_match(match_wrestler_vs("Test3","Test4"),"Test3")
|
||||||
|
end_match(match_wrestler_vs("Test3","Test5"),"Test3")
|
||||||
|
end_match(match_wrestler_vs("Test3","Test6"),"Test3")
|
||||||
|
end_match(match_wrestler_vs("Test4","Test5"),"Test4")
|
||||||
|
end_match(match_wrestler_vs("Test4","Test6"),"Test4")
|
||||||
|
end_match(match_wrestler_vs("Test5","Test6"),"Test5")
|
||||||
|
end
|
||||||
|
|
||||||
|
def finishedWithDeductedPointsTwoWayTie
|
||||||
|
team_point_adjusts_for_wrestler("Test1", 2)
|
||||||
|
team_point_adjusts_for_wrestler("Test2", 1)
|
||||||
|
team_point_adjusts_for_wrestler("Test3", 1)
|
||||||
|
|
||||||
|
end_match(match_wrestler_vs("Test1","Test2"),"Test1")
|
||||||
|
end_match(match_wrestler_vs("Test1","Test3"),"Test3")
|
||||||
|
end_match(match_wrestler_vs("Test1","Test4"),"Test1")
|
||||||
|
end_match(match_wrestler_vs("Test1","Test5"),"Test1")
|
||||||
|
end_match(match_wrestler_vs("Test1","Test6"),"Test1")
|
||||||
|
end_match(match_wrestler_vs("Test2","Test3"),"Test2")
|
||||||
|
end_match(match_wrestler_vs("Test2","Test4"),"Test2")
|
||||||
|
end_match(match_wrestler_vs("Test2","Test5"),"Test2")
|
||||||
|
end_match(match_wrestler_vs("Test2","Test6"),"Test2")
|
||||||
|
end_match(match_wrestler_vs("Test3","Test4"),"Test3")
|
||||||
|
end_match(match_wrestler_vs("Test3","Test5"),"Test3")
|
||||||
|
end_match(match_wrestler_vs("Test3","Test6"),"Test3")
|
||||||
|
end_match(match_wrestler_vs("Test4","Test5"),"Test4")
|
||||||
|
end_match(match_wrestler_vs("Test4","Test6"),"Test4")
|
||||||
|
end_match(match_wrestler_vs("Test5","Test6"),"Test5")
|
||||||
|
end
|
||||||
|
|
||||||
|
def finishedWithDeductedPointsTwoWayTieWithZero
|
||||||
|
team_point_adjusts_for_wrestler("Test1", 1)
|
||||||
|
|
||||||
|
end_match(match_wrestler_vs("Test1","Test2"),"Test1")
|
||||||
|
end_match(match_wrestler_vs("Test1","Test3"),"Test3")
|
||||||
|
end_match(match_wrestler_vs("Test1","Test4"),"Test1")
|
||||||
|
end_match(match_wrestler_vs("Test1","Test5"),"Test1")
|
||||||
|
end_match(match_wrestler_vs("Test1","Test6"),"Test1")
|
||||||
|
end_match(match_wrestler_vs("Test2","Test3"),"Test2")
|
||||||
|
end_match(match_wrestler_vs("Test2","Test4"),"Test2")
|
||||||
|
end_match(match_wrestler_vs("Test2","Test5"),"Test2")
|
||||||
|
end_match(match_wrestler_vs("Test2","Test6"),"Test2")
|
||||||
|
end_match(match_wrestler_vs("Test3","Test4"),"Test3")
|
||||||
|
end_match(match_wrestler_vs("Test3","Test5"),"Test3")
|
||||||
|
end_match(match_wrestler_vs("Test3","Test6"),"Test3")
|
||||||
|
end_match(match_wrestler_vs("Test4","Test5"),"Test4")
|
||||||
|
end_match(match_wrestler_vs("Test4","Test6"),"Test4")
|
||||||
|
end_match(match_wrestler_vs("Test5","Test6"),"Test5")
|
||||||
|
end
|
||||||
|
|
||||||
test "Pool order based on wins" do
|
test "Pool order based on wins" do
|
||||||
finishWithNoTies
|
finishWithNoTies
|
||||||
assert Wrestler.find(translate_name_to_id("Test1")).pool_placement = 1
|
assert Wrestler.find(translate_name_to_id("Test1")).pool_placement = 1
|
||||||
@@ -170,6 +273,19 @@ class PoolAdvancementTest < ActionDispatch::IntegrationTest
|
|||||||
assert Wrestler.find(translate_name_to_id("Test6")).pool_placement = 6
|
assert Wrestler.find(translate_name_to_id("Test6")).pool_placement = 6
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test "Pool order three way tie with most team points but most team points are tied between two wrestlers" do
|
||||||
|
finishWithTieMostTeamPointsTwoWayTie
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test1")).pool_placement = 2
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test1")).pool_placement_tiebreaker = "Team Points"
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test2")).pool_placement = 3
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test2")).pool_placement_tiebreaker = ""
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test3")).pool_placement = 1
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test3")).pool_placement_tiebreaker = "Head to Head"
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test4")).pool_placement = 4
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test5")).pool_placement = 5
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test6")).pool_placement = 6
|
||||||
|
end
|
||||||
|
|
||||||
test "Pool order three way tie with most pins" do
|
test "Pool order three way tie with most pins" do
|
||||||
finishWithTieMostTeamPoints
|
finishWithTieMostTeamPoints
|
||||||
assert Wrestler.find(translate_name_to_id("Test1")).pool_placement = 1
|
assert Wrestler.find(translate_name_to_id("Test1")).pool_placement = 1
|
||||||
@@ -201,7 +317,7 @@ class PoolAdvancementTest < ActionDispatch::IntegrationTest
|
|||||||
assert Wrestler.find(translate_name_to_id("Test1")).pool_placement = 1
|
assert Wrestler.find(translate_name_to_id("Test1")).pool_placement = 1
|
||||||
assert Wrestler.find(translate_name_to_id("Test1")).pool_placement_tiebreaker = "Pin Time"
|
assert Wrestler.find(translate_name_to_id("Test1")).pool_placement_tiebreaker = "Pin Time"
|
||||||
assert Wrestler.find(translate_name_to_id("Test2")).pool_placement = 2
|
assert Wrestler.find(translate_name_to_id("Test2")).pool_placement = 2
|
||||||
assert Wrestler.find(translate_name_to_id("Test2")).pool_placement_tiebreaker = "Pin Time"
|
assert Wrestler.find(translate_name_to_id("Test2")).pool_placement_tiebreaker = "Head to Head"
|
||||||
assert Wrestler.find(translate_name_to_id("Test3")).pool_placement = 3
|
assert Wrestler.find(translate_name_to_id("Test3")).pool_placement = 3
|
||||||
assert Wrestler.find(translate_name_to_id("Test3")).pool_placement_tiebreaker = ""
|
assert Wrestler.find(translate_name_to_id("Test3")).pool_placement_tiebreaker = ""
|
||||||
assert Wrestler.find(translate_name_to_id("Test4")).pool_placement = 4
|
assert Wrestler.find(translate_name_to_id("Test4")).pool_placement = 4
|
||||||
@@ -209,6 +325,58 @@ class PoolAdvancementTest < ActionDispatch::IntegrationTest
|
|||||||
assert Wrestler.find(translate_name_to_id("Test6")).pool_placement = 6
|
assert Wrestler.find(translate_name_to_id("Test6")).pool_placement = 6
|
||||||
end
|
end
|
||||||
|
|
||||||
|
test "Pool order three way tie with quickest pin times but pin time accumulation is tied between two wrestlers" do
|
||||||
|
finishedWithTieQuickestPinTwoWayTie
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test1")).pool_placement = 2
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test1")).pool_placement_tiebreaker = "Pin Time"
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test2")).pool_placement = 3
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test2")).pool_placement_tiebreaker = ""
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test3")).pool_placement = 1
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test3")).pool_placement_tiebreaker = "Head to Head"
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test4")).pool_placement = 4
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test5")).pool_placement = 5
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test6")).pool_placement = 6
|
||||||
|
end
|
||||||
|
|
||||||
|
test "Pool order three way tie with deducted points" do
|
||||||
|
finishedWithDeductedPoints
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test1")).pool_placement = 1
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test1")).pool_placement_tiebreaker = "Head to Head"
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test2")).pool_placement = 2
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test2")).pool_placement_tiebreaker = "Least Deducted Points"
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test3")).pool_placement = 1
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test3")).pool_placement_tiebreaker = ""
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test4")).pool_placement = 4
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test5")).pool_placement = 5
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test6")).pool_placement = 6
|
||||||
|
end
|
||||||
|
|
||||||
|
test "Pool order three way tie with deducted points but least deducted is tied between two wrestlers" do
|
||||||
|
finishedWithDeductedPointsTwoWayTie
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test1")).pool_placement = 3
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test1")).pool_placement_tiebreaker = ""
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test2")).pool_placement = 2
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test2")).pool_placement_tiebreaker = "Least Deducted Points"
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test3")).pool_placement = 1
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test3")).pool_placement_tiebreaker = "Head to Head"
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test4")).pool_placement = 4
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test5")).pool_placement = 5
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test6")).pool_placement = 6
|
||||||
|
end
|
||||||
|
|
||||||
|
test "Pool order three way tie with deducted points but least deducted is tied between two wrestlers with zero" do
|
||||||
|
finishedWithDeductedPointsTwoWayTieWithZero
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test1")).pool_placement = 3
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test1")).pool_placement_tiebreaker = ""
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test2")).pool_placement = 2
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test2")).pool_placement_tiebreaker = "Least Deducted Points"
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test3")).pool_placement = 1
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test3")).pool_placement_tiebreaker = "Head to Head"
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test4")).pool_placement = 4
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test5")).pool_placement = 5
|
||||||
|
assert Wrestler.find(translate_name_to_id("Test6")).pool_placement = 6
|
||||||
|
end
|
||||||
|
|
||||||
test "Pool order three way tie with coin flip" do
|
test "Pool order three way tie with coin flip" do
|
||||||
finishedWithTieCoinFlip
|
finishedWithTieCoinFlip
|
||||||
assert Wrestler.where("weight_id = ? AND pool_placement = 1",@weight.id).first.pool_placement_tiebreaker = "Coin Flip"
|
assert Wrestler.where("weight_id = ? AND pool_placement = 1",@weight.id).first.pool_placement_tiebreaker = "Coin Flip"
|
||||||
|
|||||||
@@ -107,6 +107,13 @@ class ActiveSupport::TestCase
|
|||||||
GenerateTournamentMatches.new(@tournament).generate
|
GenerateTournamentMatches.new(@tournament).generate
|
||||||
end
|
end
|
||||||
|
|
||||||
|
def team_point_adjusts_for_wrestler(wrestler_name,points)
|
||||||
|
adjust = Teampointadjust.new
|
||||||
|
adjust.points = points
|
||||||
|
adjust.wrestler_id = get_wrestler_by_name(wrestler_name)
|
||||||
|
adjust.save
|
||||||
|
end
|
||||||
|
|
||||||
def create_wrestlers_for_weight(weight, school, number_of_wrestlers, naming_start_number)
|
def create_wrestlers_for_weight(weight, school, number_of_wrestlers, naming_start_number)
|
||||||
naming_number = naming_start_number
|
naming_number = naming_start_number
|
||||||
seed = 1
|
seed = 1
|
||||||
|
|||||||
Reference in New Issue
Block a user