mirror of
https://github.com/jcwimer/wrestlingApp
synced 2026-04-04 05:43:47 +00:00
105 lines
3.6 KiB
Ruby
105 lines
3.6 KiB
Ruby
require 'test_helper'
|
|
|
|
class PoolAdvancementTest < ActionDispatch::IntegrationTest
|
|
|
|
def setup
|
|
@tournament = Tournament.find(1)
|
|
@tournament.generateMatchups
|
|
end
|
|
|
|
def showNineManWeightThreePoolTwoMatches
|
|
@matches = @tournament.matches.select{|m| m.weight_id == 3 && m.bracket_position == "Pool" && m.poolNumber == 2}
|
|
@matches.each do |m|
|
|
puts "Bout: #{m.bout_number} #{m.w1_name} vs #{m.w2_name} Pool: #{m.poolNumber}"
|
|
end
|
|
end
|
|
|
|
def nineManBracketPoolOneOutrightWinner
|
|
@matches = @tournament.matches.select{|m| m.weight_id == 3 && m.bracket_position == "Pool"}
|
|
endMatch(1002,"Guy8",@matches)
|
|
endMatch(1003,"Guy10",@matches)
|
|
endMatch(2002,"Guy2",@matches)
|
|
endMatch(2003,"Guy8",@matches)
|
|
endMatch(3003,"Guy2",@matches)
|
|
endMatch(4002,"Guy8",@matches)
|
|
endMatch(4003,"Guy2",@matches)
|
|
endMatch(5002,"Guy2",@matches)
|
|
endMatch(5003,"Guy5",@matches)
|
|
endMatch(3002,"Guy5",@matches)
|
|
end
|
|
|
|
def nineManBracketPoolTwoGuyNineHeadToHead
|
|
@matches = @tournament.matches.select{|m| m.weight_id == 3 && m.bracket_position == "Pool"}
|
|
endMatch(1004,"Guy4",@matches)
|
|
endMatch(1005,"Guy3",@matches)
|
|
endMatch(2004,"Guy3",@matches)
|
|
endMatch(2005,"Guy9",@matches)
|
|
endMatch(3004,"Guy7",@matches)
|
|
endMatch(3005,"Guy9",@matches)
|
|
end
|
|
|
|
def nineManBracketPoolTwoGuyThreeHeadToHead
|
|
@matches = @tournament.matches.select{|m| m.weight_id == 3 && m.bracket_position == "Pool"}
|
|
endMatch(1004,"Guy9",@matches)
|
|
endMatch(1005,"Guy3",@matches)
|
|
endMatch(2004,"Guy4",@matches)
|
|
endMatch(2005,"Guy9",@matches)
|
|
endMatch(3004,"Guy7",@matches)
|
|
endMatch(3005,"Guy3",@matches)
|
|
end
|
|
|
|
def endMatch(bout,winner,matches)
|
|
@match = matches.select{|m| m.bout_number == bout}.first
|
|
@match.finished = 1
|
|
@match.winner_id = translateNameToId(winner)
|
|
@match.win_type = "Decision"
|
|
#Need to manually assign mat_id because thise weight class is not currently assigned a mat
|
|
@mat = @tournament.mats.first
|
|
@match.mat_id = @mat.id
|
|
@match.save
|
|
end
|
|
def translateNameToId(wrestler)
|
|
Wrestler.where("name = ?", wrestler).first.id
|
|
end
|
|
|
|
test "nine man outright finals advance" do
|
|
nineManBracketPoolOneOutrightWinner
|
|
@wrestler = Wrestler.where("name = ?", "Guy2").first
|
|
@match = Match.where("bout_number = ?",6000).first
|
|
assert_equal 6000, @wrestler.boutByRound(6)
|
|
end
|
|
|
|
test "nine man outright conso finals advance" do
|
|
nineManBracketPoolOneOutrightWinner
|
|
@wrestler = Wrestler.where("name = ?", "Guy8").first
|
|
assert_equal 6001, @wrestler.boutByRound(6)
|
|
end
|
|
|
|
test "nine man pool 2 man to man tie breaker finalist guy 9" do
|
|
@wrestler = Wrestler.where("name = ?", "Guy9").first
|
|
nineManBracketPoolTwoGuyNineHeadToHead
|
|
@match = Match.where("bout_number = ?",6000).first
|
|
assert_equal 6000, @wrestler.boutByRound(6)
|
|
end
|
|
|
|
test "nine man pool 2 man to man tie breaker finalist guy 3" do
|
|
@wrestler = Wrestler.where("name = ?", "Guy3").first
|
|
nineManBracketPoolTwoGuyThreeHeadToHead
|
|
@match = Match.where("bout_number = ?",6000).first
|
|
assert_equal 6000, @wrestler.boutByRound(6)
|
|
end
|
|
|
|
test "nine man outright conso finals man to man tie breaker guy 3" do
|
|
nineManBracketPoolTwoGuyNineHeadToHead
|
|
@wrestler = Wrestler.where("name = ?", "Guy3").first
|
|
assert_equal 6001, @wrestler.boutByRound(6)
|
|
end
|
|
|
|
test "nine man outright conso finals man to man tie breaker guy 9" do
|
|
nineManBracketPoolTwoGuyThreeHeadToHead
|
|
@wrestler = Wrestler.where("name = ?", "Guy9").first
|
|
assert_equal 6001, @wrestler.boutByRound(6)
|
|
end
|
|
|
|
end
|