1
0
mirror of https://github.com/jcwimer/wrestlingApp synced 2026-03-24 17:04:43 +00:00

New bracket positions for double elim brackets. Each bracket position will now wrestle during the same round. Made a rake task to migrate previous matches to the new bracket positions.

This commit is contained in:
2025-04-02 16:23:20 -04:00
parent f32e711d2b
commit 9c25a6cc39
29 changed files with 1138 additions and 756 deletions

1
.gitignore vendored
View File

@@ -21,3 +21,4 @@ tmp
.rvmrc .rvmrc
deploy/prod.env deploy/prod.env
frontend/node_modules frontend/node_modules
.aider*

View File

@@ -71,13 +71,19 @@ class Match < ApplicationRecord
end end
def bracket_position_validation def bracket_position_validation
if ! BRACKET_POSITIONS.include? bracket_position # Allow "Bracket Round of 16", "Bracket Round of 16.1",
errors.add(:bracket_position, "can only be one of the following #{BRACKET_POSITIONS.to_s}") # "Conso Round of 8", "Conso Round of 8.2", etc.
end bracket_round_regex = /\A(Bracket|Conso) Round of \d+(\.\d+)?\z/
unless BRACKET_POSITIONS.include?(bracket_position) || bracket_position.match?(bracket_round_regex)
errors.add(:bracket_position,
"must be one of #{BRACKET_POSITIONS.to_s} " \
"or match the pattern 'Bracket Round of X'/'Conso Round of X'")
end
end end
def is_consolation_match def is_consolation_match
if self.bracket_position == "Conso" or self.bracket_position == "Conso Quarter" or self.bracket_position == "Conso Semis" or self.bracket_position == "3/4" or self.bracket_position == "5/6" or self.bracket_position == "7/8" if self.bracket_position.include? "Conso" or self.bracket_position == "3/4" or self.bracket_position == "5/6" or self.bracket_position == "7/8"
return true return true
else else
return false return false
@@ -85,7 +91,7 @@ class Match < ApplicationRecord
end end
def is_championship_match def is_championship_match
if self.bracket_position == "Pool" or self.bracket_position == "Quarter" or self.bracket_position == "Semis" or self.bracket_position == "Bracket" or self.bracket_position == "1/2" if self.bracket_position == "Pool" or self.bracket_position == "Quarter" or self.bracket_position == "Semis" or self.bracket_position.include? "Bracket" or self.bracket_position == "1/2"
return true return true
else else
return false return false

View File

@@ -164,7 +164,7 @@ class Weight < ApplicationRecord
end end
def highest_bracket_round def highest_bracket_round
bracket_matches_sorted_by_round_descending = matches.select{|m| m.bracket_position == "Bracket"}.sort_by{|m| m.round}.reverse bracket_matches_sorted_by_round_descending = matches.select{|m| m.bracket_position.include? "Bracket"}.sort_by{|m| m.round}.reverse
if bracket_matches_sorted_by_round_descending.size > 0 if bracket_matches_sorted_by_round_descending.size > 0
return bracket_matches_sorted_by_round_descending.first.round return bracket_matches_sorted_by_round_descending.first.round
else else
@@ -172,12 +172,30 @@ class Weight < ApplicationRecord
end end
end end
def lowest_bracket_round
bracket_matches_sorted_by_round_ascending = matches.select{|m| m.bracket_position.include? "Bracket"}.sort_by{|m| m.round}
if bracket_matches_sorted_by_round_ascending.size > 0
return bracket_matches_sorted_by_round_ascending.first.round
else
return nil
end
end
def highest_conso_round def highest_conso_round
conso_matches_sorted_by_round_descending = matches.select{|m| m.bracket_position == "Conso"}.sort_by{|m| m.round}.reverse conso_matches_sorted_by_round_descending = matches.select{|m| m.bracket_position.include? "Conso"}.sort_by{|m| m.round}.reverse
if conso_matches_sorted_by_round_descending.size > 0 if conso_matches_sorted_by_round_descending.size > 0
return conso_matches_sorted_by_round_descending.first.round return conso_matches_sorted_by_round_descending.first.round
else else
return nil return nil
end end
end end
def lowest_conso_round
conso_matches_sorted_by_round_ascending = matches.select{|m| m.bracket_position.include? "Conso"}.sort_by{|m| m.round}
if conso_matches_sorted_by_round_ascending.size > 0
return conso_matches_sorted_by_round_ascending.first.round
else
return nil
end
end
end end

View File

@@ -160,19 +160,19 @@ class Wrestler < ApplicationRecord
end end
def championship_advancement_wins def championship_advancement_wins
matches_won.select{|m| (m.bracket_position == "Quarter" or m.bracket_position == "Semis" or m.bracket_position == "Bracket") and m.win_type != "BYE"} matches_won.select{|m| (m.bracket_position == "Quarter" or m.bracket_position == "Semis" or m.bracket_position.include? "Bracket") and m.win_type != "BYE"}
end end
def consolation_advancement_wins def consolation_advancement_wins
matches_won.select{|m| (m.bracket_position == "Conso Semis" or m.bracket_position == "Conso" or m.bracket_position == "Conso Quarter") and m.win_type != "BYE"} matches_won.select{|m| (m.bracket_position.include? "Conso") and m.win_type != "BYE"}
end end
def championship_byes def championship_byes
matches_won.select{|m| (m.bracket_position == "Quarter" or m.bracket_position == "Semis" or m.bracket_position == "Bracket") and m.win_type == "BYE"} matches_won.select{|m| (m.bracket_position == "Quarter" or m.bracket_position == "Semis" or m.bracket_position.include? "Bracket") and m.win_type == "BYE"}
end end
def consolation_byes def consolation_byes
matches_won.select{|m| (m.bracket_position == "Conso Semis" or m.bracket_position == "Conso" or m.bracket_position == "Conso Quarter") and m.win_type == "BYE"} matches_won.select{|m| (m.bracket_position.include? "Conso") and m.win_type == "BYE"}
end end
def finished_matches def finished_matches

View File

@@ -17,8 +17,8 @@ class AdvanceWrestler
@tournament.clear_errored_deferred_jobs @tournament.clear_errored_deferred_jobs
if @last_match && @last_match.finished? if @last_match && @last_match.finished?
pool_to_bracket_advancement if @tournament.tournament_type == "Pool to bracket" pool_to_bracket_advancement if @tournament.tournament_type == "Pool to bracket"
DoubleEliminationAdvance.new(@wrestler, @last_match).bracket_advancement if @tournament.tournament_type.include? "Modified 16 Man Double Elimination" or ModifiedDoubleEliminationAdvance.new(@wrestler, @last_match).bracket_advancement if @tournament.tournament_type.include? "Modified 16 Man Double Elimination"
@tournament.tournament_type.include? "Regular Double Elimination" DoubleEliminationAdvance.new(@wrestler, @last_match).bracket_advancement if @tournament.tournament_type.include? "Regular Double Elimination"
end end
end end

View File

@@ -21,50 +21,33 @@ class DoubleEliminationAdvance
if (@last_match.loser1_name == "BYE" or @last_match.loser2_name == "BYE") and @last_match.is_championship_match if (@last_match.loser1_name == "BYE" or @last_match.loser2_name == "BYE") and @last_match.is_championship_match
update_consolation_bye update_consolation_bye
end end
if @last_match.bracket_position == "Quarter"
new_match = Match.where("bracket_position = ? AND bracket_position_number = ? AND weight_id = ?","Semis",@next_match_position_number.ceil,@wrestler.weight_id).first future_round_matches = @last_match.weight.matches.select{|m| m.round > @last_match.round}
update_new_match(new_match, get_wrestler_number) next_match = nil
elsif @last_match.bracket_position == "Semis" next_match_bracket_position = nil
new_match = Match.where("bracket_position = ? AND bracket_position_number = ? AND weight_id = ?","1/2",@next_match_position_number.ceil,@wrestler.weight_id).first next_match_position_number = @next_match_position_number.ceil
update_new_match(new_match, get_wrestler_number)
elsif @last_match.bracket_position == "Conso Semis" if @last_match.is_championship_match and future_round_matches.size > 0
# if its a regular double elim next_match_round = future_round_matches.select{|m| m.is_championship_match}.sort_by{|m| m.round}.first.round
if @wrestler.tournament.tournament_type.include? "Regular Double Elimination" next_match_bracket_position = future_round_matches.select{|m| m.is_championship_match}.sort_by{|m| m.round}.first.bracket_position
new_match = Match.where("bracket_position = ? AND bracket_position_number = ? AND weight_id = ?","3/4",@next_match_position_number.ceil,@wrestler.weight_id).first end
update_new_match(new_match, get_wrestler_number)
# if it's a special bracket where consolations wrestler for 5th if @last_match.is_consolation_match and future_round_matches.size > 0
elsif @wrestler.tournament.tournament_type.include? "Modified 16 Man Double Elimination" next_match_round = future_round_matches.select{|m| m.is_consolation_match}.sort_by{|m| m.round}.first.round
new_match = Match.where("bracket_position = ? AND bracket_position_number = ? AND weight_id = ?","5/6",@next_match_position_number.ceil,@wrestler.weight_id).first next_match_bracket_position = future_round_matches.select{|m| m.is_consolation_match}.sort_by{|m| m.round}.first.bracket_position
update_new_match(new_match, get_wrestler_number) next_match_loser1_name = future_round_matches.select{|m| m.is_consolation_match}.sort_by{|m| m.round}.first.loser1_name
end # If someone is falling down to them in this round, then their bracket_position_number stays the same
elsif @last_match.bracket_position == "Conso Quarter" if next_match_loser1_name
next_round_matches = Match.where("weight_id = ? and bracket_position = ?", @wrestler.weight_id, "Conso Semis").sort_by{|m| m.round} next_match_position_number = @last_match.bracket_position_number
this_round_matches = Match.where("weight_id = ? and round = ? and bracket_position = ?", @wrestler.weight_id, @last_match.round, "Conso Quarter") end
# bracket position is different depending on if a semi loser is dropping or if there are 4 conso quarter matches end
if next_round_matches.size == this_round_matches.size
# if a semi loser is dropping down if next_match_bracket_position
new_match = Match.where("bracket_position = ? AND bracket_position_number = ? AND weight_id = ?","Conso Semis",@last_match.bracket_position_number,@wrestler.weight_id).first next_match = Match.where("bracket_position = ? AND bracket_position_number = ? AND weight_id = ?",next_match_bracket_position,next_match_position_number.ceil,@wrestler.weight_id).first
update_new_match(new_match,2) end
else
# if it's a special bracket where a semi loser is not dropping down if next_match
new_match = Match.where("bracket_position = ? AND bracket_position_number = ? AND weight_id = ?","Conso Semis",@next_match_position_number.ceil,@wrestler.weight_id).first update_new_match(next_match, get_wrestler_number)
update_new_match(new_match, get_wrestler_number)
end
elsif @last_match.bracket_position == "Bracket"
new_match = Match.where("bracket_position_number = ? and weight_id = ? and round > ? and (bracket_position = ? or bracket_position = ?)", @next_match_position_number.ceil,@wrestler.weight_id, @last_match.round , "Bracket", "Quarter").sort_by{|m| m.round}.first
update_new_match(new_match, get_wrestler_number)
elsif @last_match.bracket_position == "Conso"
next_round = next_round_matches = Match.where("weight_id = ? and round > ? and (bracket_position = ? or bracket_position = ?)", @wrestler.weight_id, @last_match.round, "Conso", "Conso Quarter").sort_by{|m| m.round}.first.round
next_round_matches = Match.where("weight_id = ? and round = ? and (bracket_position = ? or bracket_position = ?)", @wrestler.weight_id, next_round, "Conso", "Conso Quarter")
this_round_matches = Match.where("weight_id = ? and round = ? and (bracket_position = ? or bracket_position = ?)", @wrestler.weight_id, @last_match.round, "Conso", "Conso Quarter")
# if a loser is dropping down
if next_round_matches.size == this_round_matches.size
new_match = Match.where("bracket_position_number = ? and weight_id = ? and round > ? and (bracket_position = ? or bracket_position = ?)", @last_match.bracket_position_number,@wrestler.weight_id, @last_match.round, "Conso", "Conso Quarter").sort_by{|m| m.round}.first
update_new_match(new_match, 2)
else
new_match = Match.where("bracket_position_number = ? and weight_id = ? and round > ? and (bracket_position = ? or bracket_position = ?)", @next_match_position_number.ceil,@wrestler.weight_id, @last_match.round, "Conso", "Conso Quarter").sort_by{|m| m.round}.first
update_new_match(new_match, get_wrestler_number)
end
end end
end end

View File

@@ -0,0 +1,141 @@
class ModifiedDoubleEliminationAdvance
def initialize(wrestler,last_match)
@wrestler = wrestler
@last_match = last_match
@next_match_position_number = (@last_match.bracket_position_number / 2.0)
end
def bracket_advancement
if @last_match.winner_id == @wrestler.id
winner_advance
end
if @last_match.winner_id != @wrestler.id
loser_advance
end
advance_double_byes
set_bye_for_placement
end
def winner_advance
if (@last_match.loser1_name == "BYE" or @last_match.loser2_name == "BYE") and @last_match.is_championship_match
update_consolation_bye
end
if @last_match.bracket_position == "Quarter"
new_match = Match.where("bracket_position = ? AND bracket_position_number = ? AND weight_id = ?","Semis",@next_match_position_number.ceil,@wrestler.weight_id).first
update_new_match(new_match, get_wrestler_number)
elsif @last_match.bracket_position == "Semis"
new_match = Match.where("bracket_position = ? AND bracket_position_number = ? AND weight_id = ?","1/2",@next_match_position_number.ceil,@wrestler.weight_id).first
update_new_match(new_match, get_wrestler_number)
elsif @last_match.bracket_position == "Conso Semis"
new_match = Match.where("bracket_position = ? AND bracket_position_number = ? AND weight_id = ?","5/6",@next_match_position_number.ceil,@wrestler.weight_id).first
update_new_match(new_match, get_wrestler_number)
elsif @last_match.bracket_position == "Conso Quarter"
# it's a special bracket where a semi loser is not dropping down
new_match = Match.where("bracket_position = ? AND bracket_position_number = ? AND weight_id = ?","Conso Semis",@next_match_position_number.ceil,@wrestler.weight_id).first
update_new_match(new_match, get_wrestler_number)
elsif @last_match.bracket_position == "Bracket Round of 16"
new_match = Match.where("bracket_position_number = ? and weight_id = ? and round > ? and bracket_position = ?", @next_match_position_number.ceil,@wrestler.weight_id, @last_match.round , "Quarter").sort_by{|m| m.round}.first
update_new_match(new_match, get_wrestler_number)
elsif @last_match.bracket_position == "Conso Round of 8"
new_match = Match.where("bracket_position_number = ? and weight_id = ? and round > ? and bracket_position = ?", @last_match.bracket_position_number,@wrestler.weight_id, @last_match.round, "Conso Quarter").sort_by{|m| m.round}.first
update_new_match(new_match, get_wrestler_number)
end
end
def update_new_match(match, wrestler_number)
if wrestler_number == 2 or (match.loser1_name and match.loser1_name.include? "Loser of")
match.w2 = @wrestler.id
match.save
elsif wrestler_number == 1
match.w1 = @wrestler.id
match.save
end
end
def update_consolation_bye
bout = @wrestler.last_match.bout_number
next_match = Match.where("(loser1_name = ? OR loser2_name = ?) AND weight_id = ?","Loser of #{bout}","Loser of #{bout}",@wrestler.weight_id)
if next_match.size > 0
next_match.first.replace_loser_name_with_bye("Loser of #{bout}")
end
end
def get_wrestler_number
if @next_match_position_number != @next_match_position_number.ceil
return 1
elsif @next_match_position_number == @next_match_position_number.ceil
return 2
end
end
def loser_advance
bout = @last_match.bout_number
next_match = Match.where("(loser1_name = ? OR loser2_name = ?) AND weight_id = ?", "Loser of #{bout}", "Loser of #{bout}", @wrestler.weight_id).first
if next_match.present?
next_match.replace_loser_name_with_wrestler(@wrestler, "Loser of #{bout}")
next_match.reload
if next_match.loser1_name == "BYE" || next_match.loser2_name == "BYE"
next_match.winner_id = @wrestler.id
next_match.win_type = "BYE"
next_match.score = ""
next_match.finished = 1
# puts "Before save: winner_id=#{next_match.winner_id}"
# if next_match.save
# puts "Save successful: winner_id=#{next_match.reload.winner_id}"
# else
# puts "Save failed: #{next_match.errors.full_messages}"
# end
next_match.save
next_match.advance_wrestlers
end
end
end
def advance_double_byes
weight = @wrestler.weight
weight.matches.select{|m| m.loser1_name == "BYE" and m.loser2_name == "BYE" and m.finished != 1}.each do |match|
match.finished = 1
match.score = ""
match.win_type = "BYE"
next_match_position_number = (match.bracket_position_number / 2.0).ceil
after_matches = weight.matches.select{|m| m.round > match.round and m.is_consolation_match == match.is_consolation_match }.sort_by{|m| m.round}
next_matches = weight.matches.select{|m| m.round == after_matches.first.round and m.is_consolation_match == match.is_consolation_match }
this_round_matches = weight.matches.select{|m| m.round == match.round and m.is_consolation_match == match.is_consolation_match }
if next_matches.size == this_round_matches.size
next_match = next_matches.select{|m| m.bracket_position_number == match.bracket_position_number}.first
next_match.loser2_name = "BYE"
next_match.save
elsif next_matches.size < this_round_matches.size and next_matches.size > 0
next_match = next_matches.select{|m| m.bracket_position_number == next_match_position_number}.first
if next_match.bracket_position_number == next_match_position_number
next_match.loser2_name = "BYE"
else
next_match.loser1_name = "BYE"
end
end
next_match.save
match.save
end
end
def set_bye_for_placement
weight = @wrestler.weight
seventh_finals = weight.matches.select{|match| match.bracket_position == '7/8'}.first
if seventh_finals
conso_quarter = weight.matches.select{|match| match.bracket_position == 'Conso Semis'}
conso_quarter.each do |match|
if match.loser1_name == "BYE" or match.loser2_name == "BYE"
seventh_finals.replace_loser_name_with_bye("Loser of #{match.bout_number}")
end
end
end
end
end

View File

@@ -15,26 +15,25 @@ class DoubleEliminationGenerateLoserNames
case bracket_size case bracket_size
when 4 when 4
[ [
# have to use total rounds here because if other weights have bigger brackets, then the finals round 3/4 won't be round 2 { conso_bracket_position: "3/4", championship_bracket_position: "Semis", cross_bracket: false, both_wrestlers: true }
{ conso_round: @tournament.total_rounds, conso_bracket_position: "3/4", championship_round: 1, championship_bracket_position: "Semis", cross_bracket: false, both_wrestlers: true }
] ]
when 8 when 8
[ [
{ conso_round: 2, conso_bracket_position: "Conso Quarter", championship_round: 1, championship_bracket_position: "Quarter", cross_bracket: false, both_wrestlers: true }, { conso_bracket_position: "Conso Quarter", championship_bracket_position: "Quarter", cross_bracket: false, both_wrestlers: true },
{ conso_round: 3, conso_bracket_position: "Conso Semis", championship_round: 2, championship_bracket_position: "Semis", cross_bracket: true, both_wrestlers: false } { conso_bracket_position: "Conso Semis", championship_bracket_position: "Semis", cross_bracket: true, both_wrestlers: false }
] ]
when 16 when 16
[ [
{ conso_round: 2, conso_bracket_position: "Conso", championship_round: 1, championship_bracket_position: "Bracket", cross_bracket: false, both_wrestlers: true }, { conso_bracket_position: "Conso Round of 8.1", championship_bracket_position: "Bracket Round of 16", cross_bracket: false, both_wrestlers: true },
{ conso_round: 3, conso_bracket_position: "Conso", championship_round: 2, championship_bracket_position: "Quarter", cross_bracket: true, both_wrestlers: false }, { conso_bracket_position: "Conso Round of 8.2", championship_bracket_position: "Quarter", cross_bracket: true, both_wrestlers: false },
{ conso_round: 5, conso_bracket_position: "Conso Semis", championship_round: 4, championship_bracket_position: "Semis", cross_bracket: false, both_wrestlers: false } { conso_bracket_position: "Conso Semis", championship_bracket_position: "Semis", cross_bracket: false, both_wrestlers: false }
] ]
when 32 when 32
[ [
{ conso_round: 2, conso_bracket_position: "Conso", championship_round: 1, championship_bracket_position: "Bracket", cross_bracket: false, both_wrestlers: true }, { conso_bracket_position: "Conso Round of 16.1", championship_bracket_position: "Bracket Round of 32", cross_bracket: false, both_wrestlers: true },
{ conso_round: 3, conso_bracket_position: "Conso", championship_round: 2, championship_bracket_position: "Bracket", cross_bracket: true, both_wrestlers: false }, { conso_bracket_position: "Conso Round of 16.2", championship_bracket_position: "Bracket Round of 16", cross_bracket: true, both_wrestlers: false },
{ conso_round: 5, conso_bracket_position: "Conso", championship_round: 4, championship_bracket_position: "Quarter", cross_bracket: false, both_wrestlers: false }, { conso_bracket_position: "Conso Round of 8.2", championship_bracket_position: "Quarter", cross_bracket: false, both_wrestlers: false },
{ conso_round: 7, conso_bracket_position: "Conso Semis", championship_round: 6, championship_bracket_position: "Semis", cross_bracket: true, both_wrestlers: false }, { conso_bracket_position: "Conso Semis", championship_bracket_position: "Semis", cross_bracket: true, both_wrestlers: false },
] ]
else else
@@ -50,19 +49,17 @@ class DoubleEliminationGenerateLoserNames
loser_name_championship_mappings = define_losername_championship_mappings(bracket_size) loser_name_championship_mappings = define_losername_championship_mappings(bracket_size)
loser_name_championship_mappings.each do |mapping| loser_name_championship_mappings.each do |mapping|
conso_round = mapping[:conso_round]
conso_bracket_position = mapping[:conso_bracket_position] conso_bracket_position = mapping[:conso_bracket_position]
championship_round = mapping[:championship_round]
championship_bracket_position = mapping[:championship_bracket_position] championship_bracket_position = mapping[:championship_bracket_position]
cross_bracket = mapping[:cross_bracket] cross_bracket = mapping[:cross_bracket]
both_wrestlers = mapping[:both_wrestlers] both_wrestlers = mapping[:both_wrestlers]
conso_matches = matches_by_weight.select do |match| conso_matches = matches_by_weight.select do |match|
match.round == conso_round && match.bracket_position == conso_bracket_position match.bracket_position == conso_bracket_position && match.bracket_position == conso_bracket_position
end.sort_by(&:bracket_position_number) end.sort_by(&:bracket_position_number)
championship_matches = matches_by_weight.select do |match| championship_matches = matches_by_weight.select do |match|
match.round == championship_round && match.bracket_position == championship_bracket_position match.bracket_position == championship_bracket_position && match.bracket_position == championship_bracket_position
end.sort_by(&:bracket_position_number) end.sort_by(&:bracket_position_number)
conso_matches.reverse! if cross_bracket conso_matches.reverse! if cross_bracket
@@ -112,8 +109,9 @@ class DoubleEliminationGenerateLoserNames
end end
def advance_bye_matches_championship(matches) def advance_bye_matches_championship(matches)
first_round = matches.sort_by{|m| m.round}.first.round
matches.select do |m| matches.select do |m|
m.round == 1 && %w[Bracket Quarter].include?(m.bracket_position) m.round == first_round
end.sort_by(&:bracket_position_number).each do |match| end.sort_by(&:bracket_position_number).each do |match|
next unless match.w1.nil? || match.w2.nil? next unless match.w1.nil? || match.w2.nil?

View File

@@ -4,68 +4,202 @@ class DoubleEliminationMatchGeneration
end end
def generate_matches def generate_matches
#
# PHASE 1: Generate matches (with local round definitions).
#
@tournament.weights.each do |weight| @tournament.weights.each do |weight|
generate_matches_for_weight(weight) generate_matches_for_weight(weight)
end end
#
# PHASE 2: Align all rounds to match the largest brackets definitions.
#
align_all_rounds_to_largest_bracket
end end
###########################################################################
# PHASE 1: Generate all matches for each bracket, using a single definition.
###########################################################################
def generate_matches_for_weight(weight)
bracket_size = weight.calculate_bracket_size
bracket_info = define_bracket_matches(bracket_size)
return unless bracket_info
# 1) Round one matchups
bracket_info[:round_one_matchups].each_with_index do |matchup, idx|
seed1, seed2 = matchup[:seeds]
bracket_position = matchup[:bracket_position]
bracket_pos_number = idx + 1
round_number = matchup[:round] # Use the round from our definition
create_matchup_from_seed(
seed1,
seed2,
bracket_position,
bracket_pos_number,
round_number,
weight
)
end
# 2) Championship rounds
bracket_info[:championship_rounds].each do |round_info|
bracket_position = round_info[:bracket_position]
matches_this_round = round_info[:number_of_matches]
round_number = round_info[:round]
matches_this_round.times do |i|
create_matchup(
nil,
nil,
bracket_position,
i + 1,
round_number,
weight
)
end
end
# 3) Consolation rounds
bracket_info[:consolation_rounds].each do |round_info|
bracket_position = round_info[:bracket_position]
matches_this_round = round_info[:number_of_matches]
round_number = round_info[:round]
matches_this_round.times do |i|
create_matchup(
nil,
nil,
bracket_position,
i + 1,
round_number,
weight
)
end
#
# 5/6, 7/8 placing logic
#
if weight.wrestlers.size >= 5
if @tournament.number_of_placers >= 6 && matches_this_round == 1
create_matchup(nil, nil, "5/6", 1, round_number, weight)
end
end
if weight.wrestlers.size >= 7
if @tournament.number_of_placers >= 8 && matches_this_round == 1
create_matchup(nil, nil, "7/8", 1, round_number, weight)
end
end
end
end
#
# Single bracket definition that includes both bracket_position and round.
# If you later decide to tweak round numbering, you do it in ONE place.
#
def define_bracket_matches(bracket_size) def define_bracket_matches(bracket_size)
# Use detailed hashes for rounds, number of matches, and bracket positions
case bracket_size case bracket_size
when 4 when 4
{ {
round_one_matchups: [ round_one_matchups: [
{ seeds: [1, 4], bracket_position: "Semis" }, { seeds: [2, 3], bracket_position: "Semis" } # First round is Semis => round=1
{ seeds: [1, 4], bracket_position: "Semis", round: 1 },
{ seeds: [2, 3], bracket_position: "Semis", round: 1 }
], ],
championship_rounds: [ championship_rounds: [
{ round: 2, number_of_matches: 1, bracket_position: "1/2" } # Final => round=2
{ bracket_position: "1/2", number_of_matches: 1, round: 2 }
], ],
consolation_rounds: [ consolation_rounds: [
{ round: 2, number_of_matches: 1, bracket_position: "3/4" } # 3rd place => round=2
{ bracket_position: "3/4", number_of_matches: 1, round: 2 }
] ]
} }
when 8 when 8
{ {
round_one_matchups: [ round_one_matchups: [
{ seeds: [1, 8], bracket_position: "Quarter" }, { seeds: [4, 5], bracket_position: "Quarter" }, # Quarter => round=1
{ seeds: [3, 6], bracket_position: "Quarter" }, { seeds: [2, 7], bracket_position: "Quarter" } { seeds: [1, 8], bracket_position: "Quarter", round: 1 },
{ seeds: [4, 5], bracket_position: "Quarter", round: 1 },
{ seeds: [3, 6], bracket_position: "Quarter", round: 1 },
{ seeds: [2, 7], bracket_position: "Quarter", round: 1 }
], ],
championship_rounds: [ championship_rounds: [
{ round: 2, number_of_matches: 2, bracket_position: "Semis" }, { round: 4, number_of_matches: 1, bracket_position: "1/2" } # Semis => round=2, Final => round=4
{ bracket_position: "Semis", number_of_matches: 2, round: 2 },
{ bracket_position: "1/2", number_of_matches: 1, round: 4 }
], ],
consolation_rounds: [ consolation_rounds: [
{ round: 2, number_of_matches: 2, bracket_position: "Conso Quarter" }, { round: 3, number_of_matches: 2, bracket_position: "Conso Semis" }, { round: 4, number_of_matches: 1, bracket_position: "3/4" } # Conso Quarter => round=2, Conso Semis => round=3, 3/4 => round=4
{ bracket_position: "Conso Quarter", number_of_matches: 2, round: 2 },
{ bracket_position: "Conso Semis", number_of_matches: 2, round: 3 },
{ bracket_position: "3/4", number_of_matches: 1, round: 4 }
] ]
} }
when 16 when 16
{ {
round_one_matchups: [ round_one_matchups: [
{ seeds: [1, 16], bracket_position: "Bracket" }, { seeds: [8, 9], bracket_position: "Bracket" }, { seeds: [5, 12], bracket_position: "Bracket" }, { seeds: [4, 13], bracket_position: "Bracket" }, { seeds: [1,16], bracket_position: "Bracket Round of 16", round: 1 },
{ seeds: [3, 14], bracket_position: "Bracket" }, { seeds: [6, 11], bracket_position: "Bracket" },{ seeds: [7, 10], bracket_position: "Bracket" }, { seeds: [2, 15], bracket_position: "Bracket" } { seeds: [8,9], bracket_position: "Bracket Round of 16", round: 1 },
{ seeds: [5,12], bracket_position: "Bracket Round of 16", round: 1 },
{ seeds: [4,13], bracket_position: "Bracket Round of 16", round: 1 },
{ seeds: [3,14], bracket_position: "Bracket Round of 16", round: 1 },
{ seeds: [6,11], bracket_position: "Bracket Round of 16", round: 1 },
{ seeds: [7,10], bracket_position: "Bracket Round of 16", round: 1 },
{ seeds: [2,15], bracket_position: "Bracket Round of 16", round: 1 }
], ],
championship_rounds: [ championship_rounds: [
{ round: 2, number_of_matches: 4, bracket_position: "Quarter" }, { round: 4, number_of_matches: 2, bracket_position: "Semis" }, { round: 6, number_of_matches: 1, bracket_position: "1/2" } # Quarter => round=2, Semis => round=4, Final => round=6
{ bracket_position: "Quarter", number_of_matches: 4, round: 2 },
{ bracket_position: "Semis", number_of_matches: 2, round: 4 },
{ bracket_position: "1/2", number_of_matches: 1, round: 6 }
], ],
consolation_rounds: [ consolation_rounds: [
{ round: 2, number_of_matches: 4, bracket_position: "Conso" }, { round: 3, number_of_matches: 4, bracket_position: "Conso" }, { round: 4, number_of_matches: 2, bracket_position: "Conso Quarter" }, # Just carry over your standard numbering
{ round: 5, number_of_matches: 2, bracket_position: "Conso Semis" }, { round: 6, number_of_matches: 1, bracket_position: "3/4" } { bracket_position: "Conso Round of 8.1", number_of_matches: 4, round: 2 },
{ bracket_position: "Conso Round of 8.2", number_of_matches: 4, round: 3 },
{ bracket_position: "Conso Quarter", number_of_matches: 2, round: 4 },
{ bracket_position: "Conso Semis", number_of_matches: 2, round: 5 },
{ bracket_position: "3/4", number_of_matches: 1, round: 6 }
] ]
} }
when 32 when 32
{ {
round_one_matchups: [ round_one_matchups: [
{ seeds: [1, 32], bracket_position: "Bracket" }, { seeds: [16, 17], bracket_position: "Bracket" }, { seeds: [9, 24], bracket_position: "Bracket" }, { seeds: [8, 25], bracket_position: "Bracket" }, { seeds: [1,32], bracket_position: "Bracket Round of 32", round: 1 },
{ seeds: [5, 28], bracket_position: "Bracket" }, { seeds: [12, 21], bracket_position: "Bracket" }, { seeds: [13, 20], bracket_position: "Bracket" }, { seeds: [4, 29], bracket_position: "Bracket" }, { seeds: [16,17], bracket_position: "Bracket Round of 32", round: 1 },
{ seeds: [3, 30], bracket_position: "Bracket" }, { seeds: [14, 19], bracket_position: "Bracket" }, { seeds: [11, 22], bracket_position: "Bracket" }, { seeds: [6, 27], bracket_position: "Bracket" }, { seeds: [9,24], bracket_position: "Bracket Round of 32", round: 1 },
{ seeds: [7, 26], bracket_position: "Bracket" }, { seeds: [10, 23], bracket_position: "Bracket" }, { seeds: [15, 18], bracket_position: "Bracket" }, { seeds: [2, 31], bracket_position: "Bracket" } { seeds: [8,25], bracket_position: "Bracket Round of 32", round: 1 },
{ seeds: [5,28], bracket_position: "Bracket Round of 32", round: 1 },
{ seeds: [12,21], bracket_position: "Bracket Round of 32", round: 1 },
{ seeds: [13,20], bracket_position: "Bracket Round of 32", round: 1 },
{ seeds: [4,29], bracket_position: "Bracket Round of 32", round: 1 },
{ seeds: [3,30], bracket_position: "Bracket Round of 32", round: 1 },
{ seeds: [14,19], bracket_position: "Bracket Round of 32", round: 1 },
{ seeds: [11,22], bracket_position: "Bracket Round of 32", round: 1 },
{ seeds: [6,27], bracket_position: "Bracket Round of 32", round: 1 },
{ seeds: [7,26], bracket_position: "Bracket Round of 32", round: 1 },
{ seeds: [10,23], bracket_position: "Bracket Round of 32", round: 1 },
{ seeds: [15,18], bracket_position: "Bracket Round of 32", round: 1 },
{ seeds: [2,31], bracket_position: "Bracket Round of 32", round: 1 }
], ],
championship_rounds: [ championship_rounds: [
{ round: 2, number_of_matches: 8, bracket_position: "Bracket" }, { round: 4, number_of_matches: 4, bracket_position: "Quarter" }, { bracket_position: "Bracket Round of 16", number_of_matches: 8, round: 2 },
{ round: 6, number_of_matches: 2, bracket_position: "Semis" }, { round: 8, number_of_matches: 1, bracket_position: "1/2" } { bracket_position: "Quarter", number_of_matches: 4, round: 4 },
{ bracket_position: "Semis", number_of_matches: 2, round: 6 },
{ bracket_position: "1/2", number_of_matches: 1, round: 8 }
], ],
consolation_rounds: [ consolation_rounds: [
{ round: 2, number_of_matches: 8, bracket_position: "Conso" }, { round: 3, number_of_matches: 8, bracket_position: "Conso" }, { round: 4, number_of_matches: 4, bracket_position: "Conso" }, { round: 5, number_of_matches: 4, bracket_position: "Conso" }, { bracket_position: "Conso Round of 16.1", number_of_matches: 8, round: 2 },
{ round: 6, number_of_matches: 2, bracket_position: "Conso Quarter" }, { round: 7, number_of_matches: 2, bracket_position: "Conso Semis" }, { round: 8, number_of_matches: 1, bracket_position: "3/4" } { bracket_position: "Conso Round of 16.2", number_of_matches: 8, round: 3 },
{ bracket_position: "Conso Round of 8.1", number_of_matches: 4, round: 4 },
{ bracket_position: "Conso Round of 8.2", number_of_matches: 4, round: 5 },
{ bracket_position: "Conso Quarter", number_of_matches: 2, round: 6 },
{ bracket_position: "Conso Semis", number_of_matches: 2, round: 7 },
{ bracket_position: "3/4", number_of_matches: 1, round: 8 }
] ]
} }
else else
@@ -73,56 +207,48 @@ class DoubleEliminationMatchGeneration
end end
end end
def generate_matches_for_weight(weight) ###########################################################################
number_of_placers = @tournament.number_of_placers # PHASE 2: Overwrite rounds in all smaller brackets to match the largest one.
bracket_size = weight.calculate_bracket_size ###########################################################################
bracket_matches = define_bracket_matches(bracket_size) def align_all_rounds_to_largest_bracket
#
# Generate round 1 matches # 1) Find the bracket size that is largest
bracket_matches[:round_one_matchups].each_with_index do |matchup, index| #
seed_1 = matchup[:seeds][0] largest_weight = @tournament.weights.max_by { |w| w.calculate_bracket_size }
seed_2 = matchup[:seeds][1] return unless largest_weight
bracket_position = matchup[:bracket_position]
round = 1 #
bracket_position_number = index + 1 # 2) Gather all matches for that bracket. Build a map from bracket_position => round
#
create_matchup_from_seed(seed_1, seed_2, bracket_position, bracket_position_number, round, weight) # We assume "largest bracket" is the single weight with the largest bracket_size.
#
largest_bracket_size = largest_weight.calculate_bracket_size
largest_matches = largest_weight.tournament.matches.where(weight_id: largest_weight.id)
position_to_round = {}
largest_matches.each do |m|
# In case multiple matches have the same bracket_position but different rounds
# (like "3/4" might appear more than once), you can pick the first or max.
position_to_round[m.bracket_position] ||= m.round
end end
# Generate remaining championship rounds #
bracket_matches[:championship_rounds].each do |round_info| # 3) For every other match in the entire tournament (including possibly the largest bracket, if you want),
round = round_info[:round] # overwrite the round to match this map.
matches_this_round = round_info[:number_of_matches] #
bracket_position = round_info[:bracket_position] @tournament.matches.find_each do |match|
# If there's a known round for this bracket_position, use it
matches_this_round.times do |bracket_position_number| if position_to_round.key?(match.bracket_position)
create_matchup(nil, nil, bracket_position, bracket_position_number + 1, round, weight) match.update(round: position_to_round[match.bracket_position])
end
end
# Generate consolation matches
bracket_matches[:consolation_rounds].each do |round_info|
round = round_info[:round]
matches_this_round = round_info[:number_of_matches]
bracket_position = round_info[:bracket_position]
matches_this_round.times do |bracket_position_number|
create_matchup(nil, nil, bracket_position, bracket_position_number + 1, round, weight)
end
if weight.wrestlers.size >= 5
create_matchup(nil, nil, "5/6", 1, round, weight) if @tournament.number_of_placers >= 6 && matches_this_round == 1
end
if weight.wrestlers.size >= 7
create_matchup(nil, nil, "7/8", 1, round, weight) if @tournament.number_of_placers >= 8 && matches_this_round == 1
end end
end end
end end
###########################################################################
# Helper methods
###########################################################################
def wrestler_with_seed(seed, weight) def wrestler_with_seed(seed, weight)
wrestler = Wrestler.where("weight_id = ? and bracket_line = ?", weight.id, seed).first Wrestler.where("weight_id = ? AND bracket_line = ?", weight.id, seed).first&.id
wrestler&.id
end end
def create_matchup_from_seed(w1_seed, w2_seed, bracket_position, bracket_position_number, round, weight) def create_matchup_from_seed(w1_seed, w2_seed, bracket_position, bracket_position_number, round, weight)
@@ -137,7 +263,7 @@ class DoubleEliminationMatchGeneration
end end
def create_matchup(w1, w2, bracket_position, bracket_position_number, round, weight) def create_matchup(w1, w2, bracket_position, bracket_position_number, round, weight)
weight.tournament.matches.create( weight.tournament.matches.create!(
w1: w1, w1: w1,
w2: w2, w2: w2,
weight_id: weight.id, weight_id: weight.id,
@@ -146,26 +272,4 @@ class DoubleEliminationMatchGeneration
bracket_position_number: bracket_position_number bracket_position_number: bracket_position_number
) )
end end
#### Logic below works but not used. Could not find a way to reliably determine a couple things.
# For example, properly forcing the semis to be after round 2 of consolations in a 16 man bracket.
# and properly calculating the number of matches in a round for the consolation rounds.
def calculate_championship_rounds(bracket_size)
return nil if bracket_size <= 0 # Handle invalid input
Math.log2(bracket_size).to_i
end
def calculate_consolation_rounds(bracket_size)
return nil if bracket_size <= 0 || !bracket_size.is_a?(Integer)
championship_rounds = calculate_championship_rounds(bracket_size)
return 1 if championship_rounds == 2
return 0 if championship_rounds == 1
extra_powers_of_two = championship_rounds - 3
championship_rounds + extra_powers_of_two
end
end end

View File

@@ -30,7 +30,7 @@ class GenerateTournamentMatches
end end
def postMatchCreationActions def postMatchCreationActions
moveFinalsMatchesToLastRound moveFinalsMatchesToLastRound if ! @tournament.tournament_type.include? "Regular Double Elimination"
assignBouts assignBouts
@tournament.reset_and_fill_bout_board @tournament.reset_and_fill_bout_board
@tournament.curently_generating_matches = nil @tournament.curently_generating_matches = nil

View File

@@ -19,25 +19,25 @@ class ModifiedSixteenManGenerateLoserNames
end end
def conso_round_2(matches) def conso_round_2(matches)
matches.select{|m| m.round == 2 and m.bracket_position == "Conso"}.sort_by{|m| m.bracket_position_number}.each do |match| matches.select{|m| m.bracket_position == "Conso Round of 8"}.sort_by{|m| m.bracket_position_number}.each do |match|
if match.bracket_position_number == 1 if match.bracket_position_number == 1
match.loser1_name = "Loser of #{matches.select{|m| m.bracket_position_number == 1 and m.round == 1 and m.bracket_position == "Bracket"}.first.bout_number}" match.loser1_name = "Loser of #{matches.select{|m| m.bracket_position_number == 1 and m.bracket_position == "Bracket Round of 16"}.first.bout_number}"
match.loser2_name = "Loser of #{matches.select{|m| m.bracket_position_number == 2 and m.round == 1 and m.bracket_position == "Bracket"}.first.bout_number}" match.loser2_name = "Loser of #{matches.select{|m| m.bracket_position_number == 2 and m.bracket_position == "Bracket Round of 16"}.first.bout_number}"
elsif match.bracket_position_number == 2 elsif match.bracket_position_number == 2
match.loser1_name = "Loser of #{matches.select{|m| m.bracket_position_number == 3 and m.round == 1 and m.bracket_position == "Bracket"}.first.bout_number}" match.loser1_name = "Loser of #{matches.select{|m| m.bracket_position_number == 3 and m.bracket_position == "Bracket Round of 16"}.first.bout_number}"
match.loser2_name = "Loser of #{matches.select{|m| m.bracket_position_number == 4 and m.round == 1 and m.bracket_position == "Bracket"}.first.bout_number}" match.loser2_name = "Loser of #{matches.select{|m| m.bracket_position_number == 4 and m.bracket_position == "Bracket Round of 16"}.first.bout_number}"
elsif match.bracket_position_number == 3 elsif match.bracket_position_number == 3
match.loser1_name = "Loser of #{matches.select{|m| m.bracket_position_number == 5 and m.round == 1 and m.bracket_position == "Bracket"}.first.bout_number}" match.loser1_name = "Loser of #{matches.select{|m| m.bracket_position_number == 5 and m.bracket_position == "Bracket Round of 16"}.first.bout_number}"
match.loser2_name = "Loser of #{matches.select{|m| m.bracket_position_number == 6 and m.round == 1 and m.bracket_position == "Bracket"}.first.bout_number}" match.loser2_name = "Loser of #{matches.select{|m| m.bracket_position_number == 6 and m.bracket_position == "Bracket Round of 16"}.first.bout_number}"
elsif match.bracket_position_number == 4 elsif match.bracket_position_number == 4
match.loser1_name = "Loser of #{matches.select{|m| m.bracket_position_number == 7 and m.round == 1 and m.bracket_position == "Bracket"}.first.bout_number}" match.loser1_name = "Loser of #{matches.select{|m| m.bracket_position_number == 7 and m.bracket_position == "Bracket Round of 16"}.first.bout_number}"
match.loser2_name = "Loser of #{matches.select{|m| m.bracket_position_number == 8 and m.round == 1 and m.bracket_position == "Bracket"}.first.bout_number}" match.loser2_name = "Loser of #{matches.select{|m| m.bracket_position_number == 8 and m.bracket_position == "Bracket Round of 16"}.first.bout_number}"
end end
end end
end end
def conso_round_3(matches) def conso_round_3(matches)
matches.select{|m| m.round == 3 and m.bracket_position == "Conso Quarter"}.sort_by{|m| m.bracket_position_number}.each do |match| matches.select{|m| m.bracket_position == "Conso Quarter"}.sort_by{|m| m.bracket_position_number}.each do |match|
if match.bracket_position_number == 1 if match.bracket_position_number == 1
match.loser1_name = "Loser of #{matches.select{|m| m.bracket_position_number == 4 and m.bracket_position == "Quarter"}.first.bout_number}" match.loser1_name = "Loser of #{matches.select{|m| m.bracket_position_number == 4 and m.bracket_position == "Quarter"}.first.bout_number}"
elsif match.bracket_position_number == 2 elsif match.bracket_position_number == 2
@@ -65,7 +65,7 @@ class ModifiedSixteenManGenerateLoserNames
end end
def advance_bye_matches_championship(matches) def advance_bye_matches_championship(matches)
matches.select{|m| m.round == 1 and m.bracket_position == "Bracket"}.sort_by{|m| m.bracket_position_number}.each do |match| matches.select{|m| m.bracket_position == "Bracket Round of 16"}.sort_by{|m| m.bracket_position_number}.each do |match|
if match.w1 == nil or match.w2 == nil if match.w1 == nil or match.w2 == nil
match.finished = 1 match.finished = 1
match.win_type = "BYE" match.win_type = "BYE"

View File

@@ -19,14 +19,14 @@ class ModifiedSixteenManMatchGeneration
end end
def round_one(weight) def round_one(weight)
create_matchup_from_seed(1,16, "Bracket", 1, 1,weight) create_matchup_from_seed(1,16, "Bracket Round of 16", 1, 1,weight)
create_matchup_from_seed(8,9, "Bracket", 2, 1,weight) create_matchup_from_seed(8,9, "Bracket Round of 16", 2, 1,weight)
create_matchup_from_seed(5,12, "Bracket", 3, 1,weight) create_matchup_from_seed(5,12, "Bracket Round of 16", 3, 1,weight)
create_matchup_from_seed(4,14, "Bracket", 4, 1,weight) create_matchup_from_seed(4,14, "Bracket Round of 16", 4, 1,weight)
create_matchup_from_seed(3,13, "Bracket", 5, 1,weight) create_matchup_from_seed(3,13, "Bracket Round of 16", 5, 1,weight)
create_matchup_from_seed(6,11, "Bracket", 6, 1,weight) create_matchup_from_seed(6,11, "Bracket Round of 16", 6, 1,weight)
create_matchup_from_seed(7,10, "Bracket", 7, 1,weight) create_matchup_from_seed(7,10, "Bracket Round of 16", 7, 1,weight)
create_matchup_from_seed(2,15, "Bracket", 8, 1,weight) create_matchup_from_seed(2,15, "Bracket Round of 16", 8, 1,weight)
end end
def round_two(weight) def round_two(weight)
@@ -34,10 +34,10 @@ class ModifiedSixteenManMatchGeneration
create_matchup(nil,nil,"Quarter",2,2,weight) create_matchup(nil,nil,"Quarter",2,2,weight)
create_matchup(nil,nil,"Quarter",3,2,weight) create_matchup(nil,nil,"Quarter",3,2,weight)
create_matchup(nil,nil,"Quarter",4,2,weight) create_matchup(nil,nil,"Quarter",4,2,weight)
create_matchup(nil,nil,"Conso",1,2,weight) create_matchup(nil,nil,"Conso Round of 8",1,2,weight)
create_matchup(nil,nil,"Conso",2,2,weight) create_matchup(nil,nil,"Conso Round of 8",2,2,weight)
create_matchup(nil,nil,"Conso",3,2,weight) create_matchup(nil,nil,"Conso Round of 8",3,2,weight)
create_matchup(nil,nil,"Conso",4,2,weight) create_matchup(nil,nil,"Conso Round of 8",4,2,weight)
end end
def round_three(weight) def round_three(weight)

View File

@@ -4,8 +4,8 @@
<h4>Championship Bracket</h4> <h4>Championship Bracket</h4>
<div class="bracket"> <div class="bracket">
<% if @weight.highest_bracket_round %> <% if @weight.highest_bracket_round %>
<% (1..@weight.highest_bracket_round).each do |round| %> <% (@weight.lowest_bracket_round..@weight.highest_bracket_round).each do |round| %>
<% @round_matches = @matches.select{|m|m.bracket_position == "Bracket" and m.round == round} %> <% @round_matches = @matches.select{|m|m.bracket_position.include? "Bracket" and m.round == round} %>
<%= render 'bracket_round' %> <%= render 'bracket_round' %>
<% end %> <% end %>
<% end %> <% end %>
@@ -30,15 +30,11 @@
<h4>Consolation Bracket</h4> <h4>Consolation Bracket</h4>
<div class="bracket"> <div class="bracket">
<% if @weight.highest_conso_round %> <% if @weight.highest_conso_round %>
<% (1..@weight.highest_conso_round).each do |round| %> <% (@weight.lowest_conso_round..@weight.highest_conso_round).each do |round| %>
<% @round_matches = @matches.select{|m|m.bracket_position == "Conso" and m.round == round} %> <% @round_matches = @matches.select{|m|m.bracket_position.include? "Conso" and m.round == round} %>
<%= render 'bracket_round' %> <%= render 'bracket_round' %>
<% end %> <% end %>
<% end %> <% end %>
<% @round_matches = @matches.select{|m|m.bracket_position == "Conso Quarter"} %>
<%= render 'bracket_round' %>
<% @round_matches = @matches.select{|m|m.bracket_position == "Conso Semis"} %>
<%= render 'bracket_round' %>
<% @final_match = @matches.select{|m|m.bracket_position == "3/4"} %> <% @final_match = @matches.select{|m|m.bracket_position == "3/4"} %>
<% @winner_place = "3rd" %> <% @winner_place = "3rd" %>
<%= render 'bracket_final' %> <%= render 'bracket_final' %>

View File

@@ -1,7 +1,7 @@
<h4>Championship Bracket</h4> <h4>Championship Bracket</h4>
<div class="bracket"> <div class="bracket">
<!--Round 1--> <!--Round 1-->
<% @round_matches = @matches.select{|m|m.bracket_position == "Bracket" and m.round == 1} %> <% @round_matches = @matches.select{|m|m.bracket_position == "Bracket Round of 16"} %>
<%= render 'bracket_round' %> <%= render 'bracket_round' %>
<!--Round 2--> <!--Round 2-->
<% @round_matches = @matches.select{|m|m.bracket_position == "Quarter"} %> <% @round_matches = @matches.select{|m|m.bracket_position == "Quarter"} %>
@@ -24,7 +24,7 @@
<h4>Consolation Bracket</h4> <h4>Consolation Bracket</h4>
<div class="bracket"> <div class="bracket">
<!--Round 1--> <!--Round 1-->
<% @round_matches = @matches.select{|m|m.bracket_position == "Conso" and m.round == 2} %> <% @round_matches = @matches.select{|m|m.bracket_position == "Conso Round of 8"} %>
<%= render 'bracket_round' %> <%= render 'bracket_round' %>
<!--Round 2--> <!--Round 2-->
<% @round_matches = @matches.select{|m|m.bracket_position == "Conso Quarter"} %> <% @round_matches = @matches.select{|m|m.bracket_position == "Conso Quarter"} %>

View File

@@ -0,0 +1,135 @@
# lib/tasks/migrate_bracket_position.rake
# rake tournament:migrate_bracket_position
namespace :tournament do
desc "Fix bracket_position for matches labeled 'Bracket' or 'Conso' in Regular and Modified Double Elimination tournaments"
task migrate_bracket_position: :environment do
############################################################
# 1) Loop over REGULAR Double Elimination Tournaments
############################################################
Tournament.where("tournament_type LIKE ?", "%Regular Double Elimination%").find_each do |tournament|
tournament.weights.each do |weight|
# Determine bracket_size: 16-man if 9..16 wrestlers, 32-man if 17..32, otherwise skip
bracket_size = if (9..16).cover?(weight.wrestlers.size)
"16-man"
elsif (17..32).cover?(weight.wrestlers.size)
"32-man"
else
"small"
end
# Skip small
next if bracket_size == "small"
weight.matches.each do |match|
# Only update if old bracket_position is 'Bracket' or 'Conso'
next unless ["Bracket", "Conso"].include?(match.bracket_position)
new_pos =
if bracket_size == "16-man"
determine_new_bracket_position_16_man_reg(match.round, match.bracket_position)
else
# bracket_size == "32-man"
determine_new_bracket_position_32_man_reg(match.round, match.bracket_position)
end
# If new_pos != "Default Position", update the record
match.update!(bracket_position: new_pos) unless new_pos == "Default Position"
end
end
end
############################################################
# 2) Loop over MODIFIED Double Elimination Tournaments
############################################################
# Bracket + round=1 => "Bracket Round of 16"
# Conso + round=2 => "Conso Round of 8"
# else => "Default Position"
Tournament.where("tournament_type LIKE ?", "%Modified 16 Man Double Elimination%").find_each do |tournament|
tournament.weights.each do |weight|
# If not 9..16 wrestlers, skip
next unless (9..16).cover?(weight.wrestlers.size)
weight.matches.each do |match|
next unless ["Bracket", "Conso"].include?(match.bracket_position)
new_pos = determine_new_bracket_position_modified_16(match.round, match.bracket_position)
match.update!(bracket_position: new_pos) unless new_pos == "Default Position"
end
end
end
end
############################################################
# HELPER METHODS
############################################################
#
# 16-MAN REGULAR Double Elimination
# - bracket => round=1 => "Bracket Round of 16"
# - conso => round=2 => "Conso Round of 8.1", round=3 => "Conso Round of 8.2"
#
def determine_new_bracket_position_16_man_reg(round, old_pos)
if old_pos == "Bracket"
case round
when 1 then "Bracket Round of 16"
else
"Default Position"
end
elsif old_pos == "Conso"
case round
when 2 then "Conso Round of 8.1"
when 3 then "Conso Round of 8.2"
else
"Default Position"
end
else
"Default Position"
end
end
#
# 32-MAN REGULAR Double Elimination
# bracket => round=1 => "Bracket Round of 32", round=2 => "Bracket Round of 16"
# conso => round=2 => "Conso Round of 16.1", round=3 => "Conso Round of 16.2",
# round=4 => "Conso Round of 8.1", round=5 => "Conso Round of 8.2"
#
def determine_new_bracket_position_32_man_reg(round, old_pos)
if old_pos == "Bracket"
case round
when 1 then "Bracket Round of 32"
when 2 then "Bracket Round of 16"
else
"Default Position"
end
elsif old_pos == "Conso"
case round
when 2 then "Conso Round of 16.1"
when 3 then "Conso Round of 16.2"
when 4 then "Conso Round of 8.1"
when 5 then "Conso Round of 8.2"
else
"Default Position"
end
else
"Default Position"
end
end
#
# MODIFIED Double Elimination (16-man).
# bracket => round=1 => "Bracket Round of 16"
# conso => round=2 => "Conso Round of 8"
# else => "Default Position"
#
def determine_new_bracket_position_modified_16(round, old_pos)
if old_pos == "Bracket"
round == 1 ? "Bracket Round of 16" : "Default Position"
elsif old_pos == "Conso"
round == 2 ? "Conso Round of 8" : "Default Position"
else
"Default Position"
end
end
end

View File

@@ -7,12 +7,12 @@ class DoubleEliminationThirtyTwoManEightPlacesMatchGeneration < ActionDispatch::
test "Match generation works" do test "Match generation works" do
assert @tournament.matches.count == 62 assert @tournament.matches.count == 62
assert @tournament.matches.select{|m| m.bracket_position == "Bracket" and m.round == 1}.count == 16 assert @tournament.matches.select{|m| m.bracket_position == "Bracket Round of 32"}.count == 16
assert @tournament.matches.select{|m| m.bracket_position == "Bracket" and m.round == 2}.count == 8 assert @tournament.matches.select{|m| m.bracket_position == "Bracket Round of 16"}.count == 8
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2}.count == 8 assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 16.1"}.count == 8
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 3}.count == 8 assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 16.2"}.count == 8
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 4}.count == 4 assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8.1"}.count == 4
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 5}.count == 4 assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8.2"}.count == 4
assert @tournament.matches.select{|m| m.bracket_position == "1/2"}.count == 1 assert @tournament.matches.select{|m| m.bracket_position == "1/2"}.count == 1
assert @tournament.matches.select{|m| m.bracket_position == "3/4"}.count == 1 assert @tournament.matches.select{|m| m.bracket_position == "3/4"}.count == 1
assert @tournament.matches.select{|m| m.bracket_position == "5/6"}.count == 1 assert @tournament.matches.select{|m| m.bracket_position == "5/6"}.count == 1
@@ -25,22 +25,22 @@ class DoubleEliminationThirtyTwoManEightPlacesMatchGeneration < ActionDispatch::
test "Seeded wrestlers have correct first line" do test "Seeded wrestlers have correct first line" do
@tournament.matches.reload @tournament.matches.reload
match1 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 1}.first match1 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 1}.first
match2 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 2}.first match2 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 2}.first
match3 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 3}.first match3 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 3}.first
match4 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 4}.first match4 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 4}.first
match5 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 5}.first match5 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 5}.first
match6 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 6}.first match6 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 6}.first
match7 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 7}.first match7 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 7}.first
match8 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 8}.first match8 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 8}.first
match9 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 9}.first match9 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 9}.first
match10 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 10}.first match10 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 10}.first
match11 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 11}.first match11 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 11}.first
match12 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 12}.first match12 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 12}.first
match13 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 13}.first match13 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 13}.first
match14 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 14}.first match14 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 14}.first
match15 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 15}.first match15 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 15}.first
match16 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 16}.first match16 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 16}.first
assert match1.wrestler1.bracket_line == 1 assert match1.wrestler1.bracket_line == 1
assert match1.loser2_name == "BYE" assert match1.loser2_name == "BYE"
@@ -93,8 +93,8 @@ class DoubleEliminationThirtyTwoManEightPlacesMatchGeneration < ActionDispatch::
test "Byes are advanced correctly" do test "Byes are advanced correctly" do
@tournament.matches.reload @tournament.matches.reload
match1 = @tournament.matches.select{|match| match.round == 2 and match.bracket_position == "Bracket" and match.bracket_position_number == 1}.first match1 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 1}.first
match2 = @tournament.matches.select{|match| match.round == 2 and match.bracket_position == "Bracket" and match.bracket_position_number == 8}.first match2 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 8}.first
assert match1.wrestler1.name == "Test1" assert match1.wrestler1.name == "Test1"
assert match2.wrestler2.name == "Test2" assert match2.wrestler2.name == "Test2"
@@ -102,74 +102,74 @@ class DoubleEliminationThirtyTwoManEightPlacesMatchGeneration < ActionDispatch::
test "Loser names set up correctly" do test "Loser names set up correctly" do
@tournament.matches.reload @tournament.matches.reload
match1 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 1}.first match1 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 1}.first
match2 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 2}.first match2 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 2}.first
match3 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 3}.first match3 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 3}.first
match4 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 4}.first match4 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 4}.first
match5 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 5}.first match5 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 5}.first
match6 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 6}.first match6 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 6}.first
match7 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 7}.first match7 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 7}.first
match8 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 8}.first match8 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 8}.first
match9 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 9}.first match9 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 9}.first
match10 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 10}.first match10 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 10}.first
match11 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 11}.first match11 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 11}.first
match12 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 12}.first match12 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 12}.first
match13 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 13}.first match13 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 13}.first
match14 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 14}.first match14 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 14}.first
match15 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 15}.first match15 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 15}.first
match16 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 16}.first match16 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 16}.first
# Conso round 2 # Conso round of 16.1
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 1}.first.loser1_name == "BYE" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 16.1" && m.bracket_position_number == 1}.first.loser1_name == "BYE"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 1}.first.loser2_name == "Loser of #{match2.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 16.1" && m.bracket_position_number == 1}.first.loser2_name == "Loser of #{match2.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 2}.first.loser1_name == "Loser of #{match3.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 16.1" && m.bracket_position_number == 2}.first.loser1_name == "Loser of #{match3.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 2}.first.loser2_name == "Loser of #{match4.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 16.1" && m.bracket_position_number == 2}.first.loser2_name == "Loser of #{match4.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 3}.first.loser1_name == "Loser of #{match5.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 16.1" && m.bracket_position_number == 3}.first.loser1_name == "Loser of #{match5.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 3}.first.loser2_name == "Loser of #{match6.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 16.1" && m.bracket_position_number == 3}.first.loser2_name == "Loser of #{match6.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 4}.first.loser1_name == "Loser of #{match7.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 16.1" && m.bracket_position_number == 4}.first.loser1_name == "Loser of #{match7.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 4}.first.loser2_name == "Loser of #{match8.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 16.1" && m.bracket_position_number == 4}.first.loser2_name == "Loser of #{match8.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 5}.first.loser1_name == "Loser of #{match9.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 16.1" && m.bracket_position_number == 5}.first.loser1_name == "Loser of #{match9.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 5}.first.loser2_name == "Loser of #{match10.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 16.1" && m.bracket_position_number == 5}.first.loser2_name == "Loser of #{match10.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 6}.first.loser1_name == "Loser of #{match11.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 16.1" && m.bracket_position_number == 6}.first.loser1_name == "Loser of #{match11.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 6}.first.loser2_name == "Loser of #{match12.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 16.1" && m.bracket_position_number == 6}.first.loser2_name == "Loser of #{match12.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 7}.first.loser1_name == "Loser of #{match13.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 16.1" && m.bracket_position_number == 7}.first.loser1_name == "Loser of #{match13.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 7}.first.loser2_name == "Loser of #{match14.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 16.1" && m.bracket_position_number == 7}.first.loser2_name == "Loser of #{match14.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 8}.first.loser1_name == "Loser of #{match15.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 16.1" && m.bracket_position_number == 8}.first.loser1_name == "Loser of #{match15.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 8}.first.loser2_name == "BYE" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 16.1" && m.bracket_position_number == 8}.first.loser2_name == "BYE"
# Conso round 3 # Conso round of 16.2 cross bracketed
round2_match1 = @tournament.matches.select{|match| match.round == 2 and match.bracket_position == "Bracket" and match.bracket_position_number == 1}.first bracket_r16_match1 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 1}.first
round2_match2 = @tournament.matches.select{|match| match.round == 2 and match.bracket_position == "Bracket" and match.bracket_position_number == 2}.first bracket_r16_match2 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 2}.first
round2_match3 = @tournament.matches.select{|match| match.round == 2 and match.bracket_position == "Bracket" and match.bracket_position_number == 3}.first bracket_r16_match3 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 3}.first
round2_match4 = @tournament.matches.select{|match| match.round == 2 and match.bracket_position == "Bracket" and match.bracket_position_number == 4}.first bracket_r16_match4 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 4}.first
round2_match5 = @tournament.matches.select{|match| match.round == 2 and match.bracket_position == "Bracket" and match.bracket_position_number == 5}.first bracket_r16_match5 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 5}.first
round2_match6 = @tournament.matches.select{|match| match.round == 2 and match.bracket_position == "Bracket" and match.bracket_position_number == 6}.first bracket_r16_match6 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 6}.first
round2_match7 = @tournament.matches.select{|match| match.round == 2 and match.bracket_position == "Bracket" and match.bracket_position_number == 7}.first bracket_r16_match7 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 7}.first
round2_match8 = @tournament.matches.select{|match| match.round == 2 and match.bracket_position == "Bracket" and match.bracket_position_number == 8}.first bracket_r16_match8 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 8}.first
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 3 && m.bracket_position_number == 1}.first.loser1_name == "Loser of #{round2_match8.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 16.2" && m.bracket_position_number == 1}.first.loser1_name == "Loser of #{bracket_r16_match8.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 3 && m.bracket_position_number == 2}.first.loser1_name == "Loser of #{round2_match7.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 16.2" && m.bracket_position_number == 2}.first.loser1_name == "Loser of #{bracket_r16_match7.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 3 && m.bracket_position_number == 3}.first.loser1_name == "Loser of #{round2_match6.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 16.2" && m.bracket_position_number == 3}.first.loser1_name == "Loser of #{bracket_r16_match6.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 3 && m.bracket_position_number == 4}.first.loser1_name == "Loser of #{round2_match5.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 16.2" && m.bracket_position_number == 4}.first.loser1_name == "Loser of #{bracket_r16_match5.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 3 && m.bracket_position_number == 5}.first.loser1_name == "Loser of #{round2_match4.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 16.2" && m.bracket_position_number == 5}.first.loser1_name == "Loser of #{bracket_r16_match4.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 3 && m.bracket_position_number == 6}.first.loser1_name == "Loser of #{round2_match3.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 16.2" && m.bracket_position_number == 6}.first.loser1_name == "Loser of #{bracket_r16_match3.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 3 && m.bracket_position_number == 7}.first.loser1_name == "Loser of #{round2_match2.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 16.2" && m.bracket_position_number == 7}.first.loser1_name == "Loser of #{bracket_r16_match2.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 3 && m.bracket_position_number == 8}.first.loser1_name == "Loser of #{round2_match1.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 16.2" && m.bracket_position_number == 8}.first.loser1_name == "Loser of #{bracket_r16_match1.bout_number}"
# Conso Quarter round 5 # Conso round of 8.2
quarter1 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 1}.first quarter1 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 1}.first
quarter2 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 2}.first quarter2 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 2}.first
quarter3 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 3}.first quarter3 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 3}.first
quarter4 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 4}.first quarter4 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 4}.first
consoround2match1 = @tournament.matches.select{|match| match.bracket_position == "Conso" and match.round == 5 && match.bracket_position_number == 1}.first conso_r8_2_match1 = @tournament.matches.select{|match| match.bracket_position == "Conso Round of 8.2" && match.bracket_position_number == 1}.first
consoround2match2 = @tournament.matches.select{|match| match.bracket_position == "Conso" and match.round == 5 && match.bracket_position_number == 2}.first conso_r8_2_match2 = @tournament.matches.select{|match| match.bracket_position == "Conso Round of 8.2" && match.bracket_position_number == 2}.first
consoround2match3 = @tournament.matches.select{|match| match.bracket_position == "Conso" and match.round == 5 && match.bracket_position_number == 3}.first conso_r8_2_match3 = @tournament.matches.select{|match| match.bracket_position == "Conso Round of 8.2" && match.bracket_position_number == 3}.first
consoround2match4 = @tournament.matches.select{|match| match.bracket_position == "Conso" and match.round == 5 && match.bracket_position_number == 4}.first conso_r8_2_match4 = @tournament.matches.select{|match| match.bracket_position == "Conso Round of 8.2" && match.bracket_position_number == 4}.first
assert consoround2match1.loser1_name == "Loser of #{quarter1.bout_number}" assert conso_r8_2_match1.loser1_name == "Loser of #{quarter1.bout_number}"
assert consoround2match2.loser1_name == "Loser of #{quarter2.bout_number}" assert conso_r8_2_match2.loser1_name == "Loser of #{quarter2.bout_number}"
assert consoround2match3.loser1_name == "Loser of #{quarter3.bout_number}" assert conso_r8_2_match3.loser1_name == "Loser of #{quarter3.bout_number}"
assert consoround2match4.loser1_name == "Loser of #{quarter4.bout_number}" assert conso_r8_2_match4.loser1_name == "Loser of #{quarter4.bout_number}"
# Conso Semis round 7 # Conso Semis
semis1 = @tournament.matches.select{|match| match.bracket_position == "Semis" and match.bracket_position_number == 1}.first semis1 = @tournament.matches.select{|match| match.bracket_position == "Semis" and match.bracket_position_number == 1}.first
semis2 = @tournament.matches.select{|match| match.bracket_position == "Semis" and match.bracket_position_number == 2}.first semis2 = @tournament.matches.select{|match| match.bracket_position == "Semis" and match.bracket_position_number == 2}.first
consosemis1 = @tournament.matches.select{|match| match.bracket_position == "Conso Semis" and match.bracket_position_number == 1}.first consosemis1 = @tournament.matches.select{|match| match.bracket_position == "Conso Semis" and match.bracket_position_number == 1}.first

View File

@@ -17,111 +17,111 @@ class DoubleEliminationThirtyTwoManEightPlacesRunThrough < ActionDispatch::Integ
create_double_elim_tournament_single_weight(30, "Regular Double Elimination 1-8") create_double_elim_tournament_single_weight(30, "Regular Double Elimination 1-8")
matches = @tournament.matches.reload matches = @tournament.matches.reload
round1 = matches.select{|m| m.round == 1} bracket_r32 = matches.select{|m| m.bracket_position == "Bracket Round of 32"}
winner_by_name("Test17", round1.select{|m| m.bracket_position_number == 2}.first) winner_by_name("Test17", bracket_r32.select{|m| m.bracket_position_number == 2}.first)
winner_by_name("Test9", round1.select{|m| m.bracket_position_number == 3}.first) winner_by_name("Test9", bracket_r32.select{|m| m.bracket_position_number == 3}.first)
winner_by_name("Test25", round1.select{|m| m.bracket_position_number == 4}.first) winner_by_name("Test25", bracket_r32.select{|m| m.bracket_position_number == 4}.first)
winner_by_name("Test5", round1.select{|m| m.bracket_position_number == 5}.first) winner_by_name("Test5", bracket_r32.select{|m| m.bracket_position_number == 5}.first)
winner_by_name("Test12", round1.select{|m| m.bracket_position_number == 6}.first) winner_by_name("Test12", bracket_r32.select{|m| m.bracket_position_number == 6}.first)
winner_by_name("Test20", round1.select{|m| m.bracket_position_number == 7}.first) winner_by_name("Test20", bracket_r32.select{|m| m.bracket_position_number == 7}.first)
winner_by_name("Test4", round1.select{|m| m.bracket_position_number == 8}.first) winner_by_name("Test4", bracket_r32.select{|m| m.bracket_position_number == 8}.first)
winner_by_name("Test3", round1.select{|m| m.bracket_position_number == 9}.first) winner_by_name("Test3", bracket_r32.select{|m| m.bracket_position_number == 9}.first)
winner_by_name("Test14", round1.select{|m| m.bracket_position_number == 10}.first) winner_by_name("Test14", bracket_r32.select{|m| m.bracket_position_number == 10}.first)
winner_by_name("Test11", round1.select{|m| m.bracket_position_number == 11}.first) winner_by_name("Test11", bracket_r32.select{|m| m.bracket_position_number == 11}.first)
winner_by_name("Test6", round1.select{|m| m.bracket_position_number == 12}.first) winner_by_name("Test6", bracket_r32.select{|m| m.bracket_position_number == 12}.first)
winner_by_name("Test7", round1.select{|m| m.bracket_position_number == 13}.first) winner_by_name("Test7", bracket_r32.select{|m| m.bracket_position_number == 13}.first)
winner_by_name("Test10", round1.select{|m| m.bracket_position_number == 14}.first) winner_by_name("Test10", bracket_r32.select{|m| m.bracket_position_number == 14}.first)
winner_by_name("Test18", round1.select{|m| m.bracket_position_number == 15}.first) winner_by_name("Test18", bracket_r32.select{|m| m.bracket_position_number == 15}.first)
round2_championship = matches.reload.select{|m| m.bracket_position == "Bracket" and m.round == 2}.sort_by{|m| m.bracket_position_number} bracket_r16 = matches.reload.select{|m| m.bracket_position == "Bracket Round of 16"}.sort_by{|m| m.bracket_position_number}
assert round2_championship.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test1" assert bracket_r16.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test1"
assert round2_championship.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test17" assert bracket_r16.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test17"
assert round2_championship.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test9" assert bracket_r16.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test9"
assert round2_championship.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test25" assert bracket_r16.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test25"
assert round2_championship.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test5" assert bracket_r16.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test5"
assert round2_championship.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test12" assert bracket_r16.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test12"
assert round2_championship.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test20" assert bracket_r16.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test20"
assert round2_championship.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test4" assert bracket_r16.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test4"
assert round2_championship.select{|m| m.bracket_position_number == 5}.first.reload.wrestler1.name == "Test3" assert bracket_r16.select{|m| m.bracket_position_number == 5}.first.reload.wrestler1.name == "Test3"
assert round2_championship.select{|m| m.bracket_position_number == 5}.first.reload.wrestler2.name == "Test14" assert bracket_r16.select{|m| m.bracket_position_number == 5}.first.reload.wrestler2.name == "Test14"
assert round2_championship.select{|m| m.bracket_position_number == 6}.first.reload.wrestler1.name == "Test11" assert bracket_r16.select{|m| m.bracket_position_number == 6}.first.reload.wrestler1.name == "Test11"
assert round2_championship.select{|m| m.bracket_position_number == 6}.first.reload.wrestler2.name == "Test6" assert bracket_r16.select{|m| m.bracket_position_number == 6}.first.reload.wrestler2.name == "Test6"
assert round2_championship.select{|m| m.bracket_position_number == 7}.first.reload.wrestler1.name == "Test7" assert bracket_r16.select{|m| m.bracket_position_number == 7}.first.reload.wrestler1.name == "Test7"
assert round2_championship.select{|m| m.bracket_position_number == 7}.first.reload.wrestler2.name == "Test10" assert bracket_r16.select{|m| m.bracket_position_number == 7}.first.reload.wrestler2.name == "Test10"
assert round2_championship.select{|m| m.bracket_position_number == 8}.first.reload.wrestler1.name == "Test18" assert bracket_r16.select{|m| m.bracket_position_number == 8}.first.reload.wrestler1.name == "Test18"
assert round2_championship.select{|m| m.bracket_position_number == 8}.first.reload.wrestler2.name == "Test2" assert bracket_r16.select{|m| m.bracket_position_number == 8}.first.reload.wrestler2.name == "Test2"
winner_by_name("Test1", round2_championship.select{|m| m.bracket_position_number == 1}.first) winner_by_name("Test1", bracket_r16.select{|m| m.bracket_position_number == 1}.first)
winner_by_name("Test25", round2_championship.select{|m| m.bracket_position_number == 2}.first) winner_by_name("Test25", bracket_r16.select{|m| m.bracket_position_number == 2}.first)
winner_by_name("Test5", round2_championship.select{|m| m.bracket_position_number == 3}.first) winner_by_name("Test5", bracket_r16.select{|m| m.bracket_position_number == 3}.first)
winner_by_name("Test4", round2_championship.select{|m| m.bracket_position_number == 4}.first) winner_by_name("Test4", bracket_r16.select{|m| m.bracket_position_number == 4}.first)
winner_by_name("Test3", round2_championship.select{|m| m.bracket_position_number == 5}.first) winner_by_name("Test3", bracket_r16.select{|m| m.bracket_position_number == 5}.first)
winner_by_name("Test11", round2_championship.select{|m| m.bracket_position_number == 6}.first) winner_by_name("Test11", bracket_r16.select{|m| m.bracket_position_number == 6}.first)
winner_by_name("Test10", round2_championship.select{|m| m.bracket_position_number == 7}.first) winner_by_name("Test10", bracket_r16.select{|m| m.bracket_position_number == 7}.first)
winner_by_name("Test2", round2_championship.select{|m| m.bracket_position_number == 8}.first) winner_by_name("Test2", bracket_r16.select{|m| m.bracket_position_number == 8}.first)
round2_conso = matches.reload.select{|m| m.bracket_position == "Conso" and m.round == 2}.sort_by{|m| m.bracket_position_number} conso_r16_1 = matches.reload.select{|m| m.bracket_position == "Conso Round of 16.1"}.sort_by{|m| m.bracket_position_number}
assert round2_conso.select{|m| m.bracket_position_number == 1}.first.reload.loser1_name == "BYE" assert conso_r16_1.select{|m| m.bracket_position_number == 1}.first.reload.loser1_name == "BYE"
assert round2_conso.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test16" assert conso_r16_1.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test16"
assert round2_conso.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test24" assert conso_r16_1.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test24"
assert round2_conso.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test8" assert conso_r16_1.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test8"
assert round2_conso.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test28" assert conso_r16_1.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test28"
assert round2_conso.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test21" assert conso_r16_1.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test21"
assert round2_conso.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test13" assert conso_r16_1.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test13"
assert round2_conso.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test29" assert conso_r16_1.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test29"
assert round2_conso.select{|m| m.bracket_position_number == 5}.first.reload.wrestler1.name == "Test30" assert conso_r16_1.select{|m| m.bracket_position_number == 5}.first.reload.wrestler1.name == "Test30"
assert round2_conso.select{|m| m.bracket_position_number == 5}.first.reload.wrestler2.name == "Test19" assert conso_r16_1.select{|m| m.bracket_position_number == 5}.first.reload.wrestler2.name == "Test19"
assert round2_conso.select{|m| m.bracket_position_number == 6}.first.reload.wrestler1.name == "Test22" assert conso_r16_1.select{|m| m.bracket_position_number == 6}.first.reload.wrestler1.name == "Test22"
assert round2_conso.select{|m| m.bracket_position_number == 6}.first.reload.wrestler2.name == "Test27" assert conso_r16_1.select{|m| m.bracket_position_number == 6}.first.reload.wrestler2.name == "Test27"
assert round2_conso.select{|m| m.bracket_position_number == 7}.first.reload.wrestler1.name == "Test26" assert conso_r16_1.select{|m| m.bracket_position_number == 7}.first.reload.wrestler1.name == "Test26"
assert round2_conso.select{|m| m.bracket_position_number == 7}.first.reload.wrestler2.name == "Test23" assert conso_r16_1.select{|m| m.bracket_position_number == 7}.first.reload.wrestler2.name == "Test23"
assert round2_conso.select{|m| m.bracket_position_number == 8}.first.reload.wrestler1.name == "Test15" assert conso_r16_1.select{|m| m.bracket_position_number == 8}.first.reload.wrestler1.name == "Test15"
assert round2_conso.select{|m| m.bracket_position_number == 8}.first.reload.loser2_name == "BYE" assert conso_r16_1.select{|m| m.bracket_position_number == 8}.first.reload.loser2_name == "BYE"
winner_by_name("Test8", round2_conso.select{|m| m.bracket_position_number == 2}.first) winner_by_name("Test8", conso_r16_1.select{|m| m.bracket_position_number == 2}.first)
winner_by_name("Test21", round2_conso.select{|m| m.bracket_position_number == 3}.first) winner_by_name("Test21", conso_r16_1.select{|m| m.bracket_position_number == 3}.first)
winner_by_name("Test29", round2_conso.select{|m| m.bracket_position_number == 4}.first) winner_by_name("Test29", conso_r16_1.select{|m| m.bracket_position_number == 4}.first)
winner_by_name("Test19", round2_conso.select{|m| m.bracket_position_number == 5}.first) winner_by_name("Test19", conso_r16_1.select{|m| m.bracket_position_number == 5}.first)
winner_by_name("Test22", round2_conso.select{|m| m.bracket_position_number == 6}.first) winner_by_name("Test22", conso_r16_1.select{|m| m.bracket_position_number == 6}.first)
winner_by_name("Test23", round2_conso.select{|m| m.bracket_position_number == 7}.first) winner_by_name("Test23", conso_r16_1.select{|m| m.bracket_position_number == 7}.first)
round3_conso = matches.reload.select{|m| m.bracket_position == "Conso" and m.round == 3}.sort_by{|m| m.bracket_position_number} conso_r16_2 = matches.reload.select{|m| m.bracket_position == "Conso Round of 16.2"}.sort_by{|m| m.bracket_position_number}
assert round3_conso.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test18" assert conso_r16_2.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test18"
assert round3_conso.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test16" assert conso_r16_2.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test16"
assert round3_conso.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test7" assert conso_r16_2.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test7"
assert round3_conso.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test8" assert conso_r16_2.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test8"
assert round3_conso.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test6" assert conso_r16_2.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test6"
assert round3_conso.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test21" assert conso_r16_2.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test21"
assert round3_conso.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test14" assert conso_r16_2.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test14"
assert round3_conso.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test29" assert conso_r16_2.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test29"
assert round3_conso.select{|m| m.bracket_position_number == 5}.first.reload.wrestler1.name == "Test20" assert conso_r16_2.select{|m| m.bracket_position_number == 5}.first.reload.wrestler1.name == "Test20"
assert round3_conso.select{|m| m.bracket_position_number == 5}.first.reload.wrestler2.name == "Test19" assert conso_r16_2.select{|m| m.bracket_position_number == 5}.first.reload.wrestler2.name == "Test19"
assert round3_conso.select{|m| m.bracket_position_number == 6}.first.reload.wrestler1.name == "Test12" assert conso_r16_2.select{|m| m.bracket_position_number == 6}.first.reload.wrestler1.name == "Test12"
assert round3_conso.select{|m| m.bracket_position_number == 6}.first.reload.wrestler2.name == "Test22" assert conso_r16_2.select{|m| m.bracket_position_number == 6}.first.reload.wrestler2.name == "Test22"
assert round3_conso.select{|m| m.bracket_position_number == 7}.first.reload.wrestler1.name == "Test9" assert conso_r16_2.select{|m| m.bracket_position_number == 7}.first.reload.wrestler1.name == "Test9"
assert round3_conso.select{|m| m.bracket_position_number == 7}.first.reload.wrestler2.name == "Test23" assert conso_r16_2.select{|m| m.bracket_position_number == 7}.first.reload.wrestler2.name == "Test23"
assert round3_conso.select{|m| m.bracket_position_number == 8}.first.reload.wrestler1.name == "Test17" assert conso_r16_2.select{|m| m.bracket_position_number == 8}.first.reload.wrestler1.name == "Test17"
assert round3_conso.select{|m| m.bracket_position_number == 8}.first.reload.wrestler2.name == "Test15" assert conso_r16_2.select{|m| m.bracket_position_number == 8}.first.reload.wrestler2.name == "Test15"
winner_by_name("Test16", round3_conso.select{|m| m.bracket_position_number == 1}.first) winner_by_name("Test16", conso_r16_2.select{|m| m.bracket_position_number == 1}.first)
winner_by_name("Test8", round3_conso.select{|m| m.bracket_position_number == 2}.first) winner_by_name("Test8", conso_r16_2.select{|m| m.bracket_position_number == 2}.first)
winner_by_name("Test6", round3_conso.select{|m| m.bracket_position_number == 3}.first) winner_by_name("Test6", conso_r16_2.select{|m| m.bracket_position_number == 3}.first)
winner_by_name("Test29", round3_conso.select{|m| m.bracket_position_number == 4}.first) winner_by_name("Test29", conso_r16_2.select{|m| m.bracket_position_number == 4}.first)
winner_by_name("Test20", round3_conso.select{|m| m.bracket_position_number == 5}.first) winner_by_name("Test20", conso_r16_2.select{|m| m.bracket_position_number == 5}.first)
winner_by_name("Test12", round3_conso.select{|m| m.bracket_position_number == 6}.first) winner_by_name("Test12", conso_r16_2.select{|m| m.bracket_position_number == 6}.first)
winner_by_name("Test23", round3_conso.select{|m| m.bracket_position_number == 7}.first) winner_by_name("Test23", conso_r16_2.select{|m| m.bracket_position_number == 7}.first)
winner_by_name("Test17", round3_conso.select{|m| m.bracket_position_number == 8}.first) winner_by_name("Test17", conso_r16_2.select{|m| m.bracket_position_number == 8}.first)
round4_conso = matches.reload.select{|m| m.bracket_position == "Conso" and m.round == 4}.sort_by{|m| m.bracket_position_number} conso_r8_1 = matches.reload.select{|m| m.bracket_position == "Conso Round of 8.1"}.sort_by{|m| m.bracket_position_number}
assert round4_conso.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test16" assert conso_r8_1.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test16"
assert round4_conso.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test8" assert conso_r8_1.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test8"
assert round4_conso.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test6" assert conso_r8_1.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test6"
assert round4_conso.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test29" assert conso_r8_1.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test29"
assert round4_conso.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test20" assert conso_r8_1.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test20"
assert round4_conso.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test12" assert conso_r8_1.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test12"
assert round4_conso.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test23" assert conso_r8_1.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test23"
assert round4_conso.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test17" assert conso_r8_1.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test17"
winner_by_name("Test8", round4_conso.select{|m| m.bracket_position_number == 1}.first) winner_by_name("Test8", conso_r8_1.select{|m| m.bracket_position_number == 1}.first)
winner_by_name("Test6", round4_conso.select{|m| m.bracket_position_number == 2}.first) winner_by_name("Test6", conso_r8_1.select{|m| m.bracket_position_number == 2}.first)
winner_by_name("Test20", round4_conso.select{|m| m.bracket_position_number == 3}.first) winner_by_name("Test20", conso_r8_1.select{|m| m.bracket_position_number == 3}.first)
winner_by_name("Test17", round4_conso.select{|m| m.bracket_position_number == 4}.first) winner_by_name("Test17", conso_r8_1.select{|m| m.bracket_position_number == 4}.first)
quarters = matches.reload.select{|m| m.bracket_position == "Quarter"}.sort_by{|m| m.bracket_position_number} quarters = matches.reload.select{|m| m.bracket_position == "Quarter"}.sort_by{|m| m.bracket_position_number}
assert quarters.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test1" assert quarters.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test1"
@@ -137,19 +137,19 @@ class DoubleEliminationThirtyTwoManEightPlacesRunThrough < ActionDispatch::Integ
winner_by_name("Test11", quarters.select{|m| m.bracket_position_number == 3}.first) winner_by_name("Test11", quarters.select{|m| m.bracket_position_number == 3}.first)
winner_by_name("Test2", quarters.select{|m| m.bracket_position_number == 4}.first) winner_by_name("Test2", quarters.select{|m| m.bracket_position_number == 4}.first)
round5_conso = matches.reload.select{|m| m.bracket_position == "Conso" and m.round == 5}.sort_by{|m| m.bracket_position_number} conso_r8_2 = matches.reload.select{|m| m.bracket_position == "Conso Round of 8.2"}.sort_by{|m| m.bracket_position_number}
assert round5_conso.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test25" assert conso_r8_2.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test25"
assert round5_conso.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test8" assert conso_r8_2.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test8"
assert round5_conso.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test4" assert conso_r8_2.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test4"
assert round5_conso.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test6" assert conso_r8_2.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test6"
assert round5_conso.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test3" assert conso_r8_2.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test3"
assert round5_conso.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test20" assert conso_r8_2.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test20"
assert round5_conso.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test10" assert conso_r8_2.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test10"
assert round5_conso.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test17" assert conso_r8_2.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test17"
winner_by_name("Test8", round5_conso.select{|m| m.bracket_position_number == 1}.first) winner_by_name("Test8", conso_r8_2.select{|m| m.bracket_position_number == 1}.first)
winner_by_name("Test6", round5_conso.select{|m| m.bracket_position_number == 2}.first) winner_by_name("Test6", conso_r8_2.select{|m| m.bracket_position_number == 2}.first)
winner_by_name("Test3", round5_conso.select{|m| m.bracket_position_number == 3}.first) winner_by_name("Test3", conso_r8_2.select{|m| m.bracket_position_number == 3}.first)
winner_by_name("Test10", round5_conso.select{|m| m.bracket_position_number == 4}.first) winner_by_name("Test10", conso_r8_2.select{|m| m.bracket_position_number == 4}.first)
quarters_conso = matches.reload.select{|m| m.bracket_position == "Conso Quarter"}.sort_by{|m| m.bracket_position_number} quarters_conso = matches.reload.select{|m| m.bracket_position == "Conso Quarter"}.sort_by{|m| m.bracket_position_number}
assert quarters_conso.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test8" assert quarters_conso.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test8"

View File

@@ -10,25 +10,25 @@ class DoubleEliminationSixteenManSixPlacesMatchGeneration < ActionDispatch::Inte
assert @tournament.matches.select{|m| m.bracket_position == "1/2"}.count == 1 assert @tournament.matches.select{|m| m.bracket_position == "1/2"}.count == 1
assert @tournament.matches.select{|m| m.bracket_position == "3/4"}.count == 1 assert @tournament.matches.select{|m| m.bracket_position == "3/4"}.count == 1
assert @tournament.matches.select{|m| m.bracket_position == "5/6"}.count == 1 assert @tournament.matches.select{|m| m.bracket_position == "5/6"}.count == 1
assert @tournament.matches.select{|m| m.bracket_position == "Bracket" and m.round == 1}.count == 8 assert @tournament.matches.select{|m| m.bracket_position == "Bracket Round of 16"}.count == 8
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2}.count == 4 assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8.1"}.count == 4
assert @tournament.matches.select{|m| m.bracket_position == "Quarter"}.count == 4 assert @tournament.matches.select{|m| m.bracket_position == "Quarter"}.count == 4
assert @tournament.matches.select{|m| m.bracket_position == "Semis"}.count == 2 assert @tournament.matches.select{|m| m.bracket_position == "Semis"}.count == 2
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 3}.count == 4 assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8.2"}.count == 4
assert @tournament.matches.select{|m| m.bracket_position == "Conso Quarter"}.count == 2 assert @tournament.matches.select{|m| m.bracket_position == "Conso Quarter"}.count == 2
assert @tournament.matches.select{|m| m.bracket_position == "Conso Semis"}.count == 2 assert @tournament.matches.select{|m| m.bracket_position == "Conso Semis"}.count == 2
end end
test "Seeded wrestlers have correct first line" do test "Seeded wrestlers have correct first line" do
@tournament.matches.reload @tournament.matches.reload
match1 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 1}.first match1 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 1}.first
match2 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 2}.first match2 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 2}.first
match3 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 3}.first match3 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 3}.first
match4 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 4}.first match4 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 4}.first
match5 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 5}.first match5 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 5}.first
match6 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 6}.first match6 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 6}.first
match7 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 7}.first match7 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 7}.first
match8 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 8}.first match8 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 8}.first
assert match1.wrestler1.bracket_line == 1 assert match1.wrestler1.bracket_line == 1
assert match1.loser2_name == "BYE" assert match1.loser2_name == "BYE"
@@ -66,37 +66,37 @@ class DoubleEliminationSixteenManSixPlacesMatchGeneration < ActionDispatch::Inte
test "Loser names set up correctly" do test "Loser names set up correctly" do
@tournament.matches.reload @tournament.matches.reload
match1 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 1}.first match1 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 1}.first
match2 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 2}.first match2 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 2}.first
match3 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 3}.first match3 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 3}.first
match4 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 4}.first match4 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 4}.first
match5 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 5}.first match5 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 5}.first
match6 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 6}.first match6 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 6}.first
match7 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 7}.first match7 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 7}.first
match8 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 8}.first match8 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 8}.first
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 1}.first.loser1_name == "BYE" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8.1" && m.bracket_position_number == 1}.first.loser1_name == "BYE"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 1}.first.loser2_name == "Loser of #{match2.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8.1" && m.bracket_position_number == 1}.first.loser2_name == "Loser of #{match2.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 2}.first.loser1_name == "Loser of #{match3.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8.1" && m.bracket_position_number == 2}.first.loser1_name == "Loser of #{match3.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 2}.first.loser2_name == "Loser of #{match4.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8.1" && m.bracket_position_number == 2}.first.loser2_name == "Loser of #{match4.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 3}.first.loser1_name == "Loser of #{match5.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8.1" && m.bracket_position_number == 3}.first.loser1_name == "Loser of #{match5.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 3}.first.loser2_name == "Loser of #{match6.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8.1" && m.bracket_position_number == 3}.first.loser2_name == "Loser of #{match6.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 4}.first.loser1_name == "Loser of #{match7.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8.1" && m.bracket_position_number == 4}.first.loser1_name == "Loser of #{match7.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 4}.first.loser2_name == "BYE" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8.1" && m.bracket_position_number == 4}.first.loser2_name == "BYE"
quarter1 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 1}.first quarter1 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 1}.first
quarter2 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 2}.first quarter2 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 2}.first
quarter3 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 3}.first quarter3 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 3}.first
quarter4 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 4}.first quarter4 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 4}.first
consoround2match1 = @tournament.matches.select{|match| match.bracket_position == "Conso" and match.round == 3 && match.bracket_position_number == 1}.first conso_r8_2_match1 = @tournament.matches.select{|match| match.bracket_position == "Conso Round of 8.2" && match.bracket_position_number == 1}.first
consoround2match2 = @tournament.matches.select{|match| match.bracket_position == "Conso" and match.round == 3 && match.bracket_position_number == 2}.first conso_r8_2_match2 = @tournament.matches.select{|match| match.bracket_position == "Conso Round of 8.2" && match.bracket_position_number == 2}.first
consoround2match3 = @tournament.matches.select{|match| match.bracket_position == "Conso" and match.round == 3 && match.bracket_position_number == 3}.first conso_r8_2_match3 = @tournament.matches.select{|match| match.bracket_position == "Conso Round of 8.2" && match.bracket_position_number == 3}.first
consoround2match4 = @tournament.matches.select{|match| match.bracket_position == "Conso" and match.round == 3 && match.bracket_position_number == 4}.first conso_r8_2_match4 = @tournament.matches.select{|match| match.bracket_position == "Conso Round of 8.2" && match.bracket_position_number == 4}.first
assert consoround2match1.loser1_name == "Loser of #{quarter4.bout_number}" assert conso_r8_2_match1.loser1_name == "Loser of #{quarter4.bout_number}"
assert consoround2match2.loser1_name == "Loser of #{quarter3.bout_number}" assert conso_r8_2_match2.loser1_name == "Loser of #{quarter3.bout_number}"
assert consoround2match3.loser1_name == "Loser of #{quarter2.bout_number}" assert conso_r8_2_match3.loser1_name == "Loser of #{quarter2.bout_number}"
assert consoround2match4.loser1_name == "Loser of #{quarter1.bout_number}" assert conso_r8_2_match4.loser1_name == "Loser of #{quarter1.bout_number}"
semis1 = @tournament.matches.select{|match| match.bracket_position == "Semis" and match.bracket_position_number == 1}.first semis1 = @tournament.matches.select{|match| match.bracket_position == "Semis" and match.bracket_position_number == 1}.first
semis2 = @tournament.matches.select{|match| match.bracket_position == "Semis" and match.bracket_position_number == 2}.first semis2 = @tournament.matches.select{|match| match.bracket_position == "Semis" and match.bracket_position_number == 2}.first

View File

@@ -17,13 +17,13 @@ class DoubleEliminationSixteenManSixPlacesRunThrough < ActionDispatch::Integrati
create_double_elim_tournament_single_weight_1_6(14) create_double_elim_tournament_single_weight_1_6(14)
matches = @tournament.matches.reload matches = @tournament.matches.reload
round1 = matches.select{|m| m.round == 1} round_of_16 = matches.select{|m| m.bracket_position == "Bracket Round of 16"}
winner_by_name("Test9", round1.select{|m| m.bracket_position_number == 2}.first) winner_by_name("Test9", round_of_16.select{|m| m.bracket_position_number == 2}.first)
winner_by_name("Test5", round1.select{|m| m.bracket_position_number == 3}.first) winner_by_name("Test5", round_of_16.select{|m| m.bracket_position_number == 3}.first)
winner_by_name("Test4", round1.select{|m| m.bracket_position_number == 4}.first) winner_by_name("Test4", round_of_16.select{|m| m.bracket_position_number == 4}.first)
winner_by_name("Test14", round1.select{|m| m.bracket_position_number == 5}.first) winner_by_name("Test14", round_of_16.select{|m| m.bracket_position_number == 5}.first)
winner_by_name("Test6", round1.select{|m| m.bracket_position_number == 6}.first) winner_by_name("Test6", round_of_16.select{|m| m.bracket_position_number == 6}.first)
winner_by_name("Test10", round1.select{|m| m.bracket_position_number == 7}.first) winner_by_name("Test10", round_of_16.select{|m| m.bracket_position_number == 7}.first)
quarter = matches.select{|m| m.bracket_position == "Quarter"}.sort_by{|m| m.bracket_position_number} quarter = matches.select{|m| m.bracket_position == "Quarter"}.sort_by{|m| m.bracket_position_number}
assert quarter.first.reload.wrestler1.name == "Test1" assert quarter.first.reload.wrestler1.name == "Test1"
@@ -35,20 +35,20 @@ class DoubleEliminationSixteenManSixPlacesRunThrough < ActionDispatch::Integrati
assert quarter.fourth.reload.wrestler1.name == "Test10" assert quarter.fourth.reload.wrestler1.name == "Test10"
assert quarter.fourth.reload.wrestler2.name == "Test2" assert quarter.fourth.reload.wrestler2.name == "Test2"
conso_round2 = matches.select{|m| m.bracket_position == "Conso" and m.round == 2}.sort_by{|m| m.bracket_position_number} conso_r8_1 = matches.select{|m| m.bracket_position == "Conso Round of 8.1"}.sort_by{|m| m.bracket_position_number}
assert conso_round2.first.reload.wrestler2.name == "Test8" assert conso_r8_1.first.reload.wrestler2.name == "Test8"
assert conso_round2.second.reload.wrestler1.name == "Test12" assert conso_r8_1.second.reload.wrestler1.name == "Test12"
assert conso_round2.second.reload.wrestler2.name == "Test13" assert conso_r8_1.second.reload.wrestler2.name == "Test13"
assert conso_round2.third.reload.wrestler1.name == "Test3" assert conso_r8_1.third.reload.wrestler1.name == "Test3"
assert conso_round2.third.reload.wrestler2.name == "Test11" assert conso_r8_1.third.reload.wrestler2.name == "Test11"
assert conso_round2.fourth.reload.wrestler1.name == "Test7" assert conso_r8_1.fourth.reload.wrestler1.name == "Test7"
winner_by_name("Test1", quarter.first) winner_by_name("Test1", quarter.first)
winner_by_name("Test5", quarter.second) winner_by_name("Test5", quarter.second)
winner_by_name("Test14", quarter.third) winner_by_name("Test14", quarter.third)
winner_by_name("Test10", quarter.fourth) winner_by_name("Test10", quarter.fourth)
winner_by_name("Test12", conso_round2.second) winner_by_name("Test12", conso_r8_1.second)
winner_by_name("Test3", conso_round2.third) winner_by_name("Test3", conso_r8_1.third)
semis = matches.select{|m| m.bracket_position == "Semis"}.sort_by{|m| m.bracket_position_number} semis = matches.select{|m| m.bracket_position == "Semis"}.sort_by{|m| m.bracket_position_number}
assert semis.first.reload.wrestler1.name == "Test1" assert semis.first.reload.wrestler1.name == "Test1"
@@ -56,20 +56,20 @@ class DoubleEliminationSixteenManSixPlacesRunThrough < ActionDispatch::Integrati
assert semis.second.reload.wrestler1.name == "Test14" assert semis.second.reload.wrestler1.name == "Test14"
assert semis.second.reload.wrestler2.name == "Test10" assert semis.second.reload.wrestler2.name == "Test10"
conso_round3 = matches.select{|m| m.bracket_position == "Conso" and m.round == 3}.sort_by{|m| m.bracket_position_number} conso_r8_2 = matches.select{|m| m.bracket_position == "Conso Round of 8.2"}.sort_by{|m| m.bracket_position_number}
assert conso_round3.first.reload.wrestler1.name == "Test2" assert conso_r8_2.first.reload.wrestler1.name == "Test2"
assert conso_round3.first.reload.wrestler2.name == "Test8" assert conso_r8_2.first.reload.wrestler2.name == "Test8"
assert conso_round3.second.reload.wrestler1.name == "Test6" assert conso_r8_2.second.reload.wrestler1.name == "Test6"
assert conso_round3.second.reload.wrestler2.name == "Test12" assert conso_r8_2.second.reload.wrestler2.name == "Test12"
assert conso_round3.third.reload.wrestler1.name == "Test4" assert conso_r8_2.third.reload.wrestler1.name == "Test4"
assert conso_round3.third.reload.wrestler2.name == "Test3" assert conso_r8_2.third.reload.wrestler2.name == "Test3"
assert conso_round3.fourth.reload.wrestler1.name == "Test9" assert conso_r8_2.fourth.reload.wrestler1.name == "Test9"
assert conso_round3.fourth.reload.wrestler2.name == "Test7" assert conso_r8_2.fourth.reload.wrestler2.name == "Test7"
winner_by_name("Test2", conso_round3.first) winner_by_name("Test2", conso_r8_2.first)
winner_by_name("Test6", conso_round3.second) winner_by_name("Test6", conso_r8_2.second)
winner_by_name("Test3", conso_round3.third) winner_by_name("Test3", conso_r8_2.third)
winner_by_name("Test9", conso_round3.fourth) winner_by_name("Test9", conso_r8_2.fourth)
conso_quarter = matches.select{|m| m.bracket_position == "Conso Quarter"}.sort_by{|m| m.bracket_position_number} conso_quarter = matches.select{|m| m.bracket_position == "Conso Quarter"}.sort_by{|m| m.bracket_position_number}
assert conso_quarter.first.reload.wrestler1.name == "Test2" assert conso_quarter.first.reload.wrestler1.name == "Test2"

View File

@@ -11,11 +11,11 @@ class DoubleEliminationSixteenManEightPlacesMatchGeneration < ActionDispatch::In
assert @tournament.matches.select{|m| m.bracket_position == "3/4"}.count == 1 assert @tournament.matches.select{|m| m.bracket_position == "3/4"}.count == 1
assert @tournament.matches.select{|m| m.bracket_position == "5/6"}.count == 1 assert @tournament.matches.select{|m| m.bracket_position == "5/6"}.count == 1
assert @tournament.matches.select{|m| m.bracket_position == "7/8"}.count == 1 assert @tournament.matches.select{|m| m.bracket_position == "7/8"}.count == 1
assert @tournament.matches.select{|m| m.bracket_position == "Bracket" and m.round == 1}.count == 8 assert @tournament.matches.select{|m| m.bracket_position == "Bracket Round of 16"}.count == 8
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2}.count == 4 assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8.1"}.count == 4
assert @tournament.matches.select{|m| m.bracket_position == "Quarter"}.count == 4 assert @tournament.matches.select{|m| m.bracket_position == "Quarter"}.count == 4
assert @tournament.matches.select{|m| m.bracket_position == "Semis"}.count == 2 assert @tournament.matches.select{|m| m.bracket_position == "Semis"}.count == 2
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 3}.count == 4 assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8.2"}.count == 4
assert @tournament.matches.select{|m| m.bracket_position == "Conso Quarter"}.count == 2 assert @tournament.matches.select{|m| m.bracket_position == "Conso Quarter"}.count == 2
assert @tournament.matches.select{|m| m.bracket_position == "Conso Semis"}.count == 2 assert @tournament.matches.select{|m| m.bracket_position == "Conso Semis"}.count == 2
end end
@@ -76,28 +76,28 @@ class DoubleEliminationSixteenManEightPlacesMatchGeneration < ActionDispatch::In
match7 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 7}.first match7 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 7}.first
match8 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 8}.first match8 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 8}.first
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 1}.first.loser1_name == "BYE" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8.1" && m.bracket_position_number == 1}.first.loser1_name == "BYE"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 1}.first.loser2_name == "Loser of #{match2.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8.1" && m.bracket_position_number == 1}.first.loser2_name == "Loser of #{match2.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 2}.first.loser1_name == "Loser of #{match3.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8.1" && m.bracket_position_number == 2}.first.loser1_name == "Loser of #{match3.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 2}.first.loser2_name == "Loser of #{match4.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8.1" && m.bracket_position_number == 2}.first.loser2_name == "Loser of #{match4.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 3}.first.loser1_name == "Loser of #{match5.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8.1" && m.bracket_position_number == 3}.first.loser1_name == "Loser of #{match5.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 3}.first.loser2_name == "Loser of #{match6.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8.1" && m.bracket_position_number == 3}.first.loser2_name == "Loser of #{match6.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 4}.first.loser1_name == "Loser of #{match7.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8.1" && m.bracket_position_number == 4}.first.loser1_name == "Loser of #{match7.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 4}.first.loser2_name == "BYE" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8.1" && m.bracket_position_number == 4}.first.loser2_name == "BYE"
quarter1 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 1}.first quarter1 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 1}.first
quarter2 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 2}.first quarter2 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 2}.first
quarter3 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 3}.first quarter3 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 3}.first
quarter4 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 4}.first quarter4 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 4}.first
consoround2match1 = @tournament.matches.select{|match| match.bracket_position == "Conso" and match.round == 3 && match.bracket_position_number == 1}.first conso_r8_1_match1 = @tournament.matches.select{|match| match.bracket_position == "Conso Round of 8.2" && match.bracket_position_number == 1}.first
consoround2match2 = @tournament.matches.select{|match| match.bracket_position == "Conso" and match.round == 3 && match.bracket_position_number == 2}.first conso_r8_1_match2 = @tournament.matches.select{|match| match.bracket_position == "Conso Round of 8.2" && match.bracket_position_number == 2}.first
consoround2match3 = @tournament.matches.select{|match| match.bracket_position == "Conso" and match.round == 3 && match.bracket_position_number == 3}.first conso_r8_1_match3 = @tournament.matches.select{|match| match.bracket_position == "Conso Round of 8.2" && match.bracket_position_number == 3}.first
consoround2match4 = @tournament.matches.select{|match| match.bracket_position == "Conso" and match.round == 3 && match.bracket_position_number == 4}.first conso_r8_1_match4 = @tournament.matches.select{|match| match.bracket_position == "Conso Round of 8.2" && match.bracket_position_number == 4}.first
assert consoround2match1.loser1_name == "Loser of #{quarter4.bout_number}" assert conso_r8_1_match1.loser1_name == "Loser of #{quarter4.bout_number}"
assert consoround2match2.loser1_name == "Loser of #{quarter3.bout_number}" assert conso_r8_1_match2.loser1_name == "Loser of #{quarter3.bout_number}"
assert consoround2match3.loser1_name == "Loser of #{quarter2.bout_number}" assert conso_r8_1_match3.loser1_name == "Loser of #{quarter2.bout_number}"
assert consoround2match4.loser1_name == "Loser of #{quarter1.bout_number}" assert conso_r8_1_match4.loser1_name == "Loser of #{quarter1.bout_number}"
semis1 = @tournament.matches.select{|match| match.bracket_position == "Semis" and match.bracket_position_number == 1}.first semis1 = @tournament.matches.select{|match| match.bracket_position == "Semis" and match.bracket_position_number == 1}.first
semis2 = @tournament.matches.select{|match| match.bracket_position == "Semis" and match.bracket_position_number == 2}.first semis2 = @tournament.matches.select{|match| match.bracket_position == "Semis" and match.bracket_position_number == 2}.first

View File

@@ -35,20 +35,20 @@ class DoubleEliminationSixteenManEightPlacesRunThrough < ActionDispatch::Integra
assert quarter.fourth.reload.wrestler1.name == "Test10" assert quarter.fourth.reload.wrestler1.name == "Test10"
assert quarter.fourth.reload.wrestler2.name == "Test2" assert quarter.fourth.reload.wrestler2.name == "Test2"
conso_round2 = matches.select{|m| m.bracket_position == "Conso" and m.round == 2}.sort_by{|m| m.bracket_position_number} conso_r8_1 = matches.select{|m| m.bracket_position == "Conso Round of 8.1"}.sort_by{|m| m.bracket_position_number}
assert conso_round2.first.reload.wrestler2.name == "Test8" assert conso_r8_1.first.reload.wrestler2.name == "Test8"
assert conso_round2.second.reload.wrestler1.name == "Test12" assert conso_r8_1.second.reload.wrestler1.name == "Test12"
assert conso_round2.second.reload.wrestler2.name == "Test13" assert conso_r8_1.second.reload.wrestler2.name == "Test13"
assert conso_round2.third.reload.wrestler1.name == "Test3" assert conso_r8_1.third.reload.wrestler1.name == "Test3"
assert conso_round2.third.reload.wrestler2.name == "Test11" assert conso_r8_1.third.reload.wrestler2.name == "Test11"
assert conso_round2.fourth.reload.wrestler1.name == "Test7" assert conso_r8_1.fourth.reload.wrestler1.name == "Test7"
winner_by_name("Test1", quarter.first) winner_by_name("Test1", quarter.first)
winner_by_name("Test5", quarter.second) winner_by_name("Test5", quarter.second)
winner_by_name("Test14", quarter.third) winner_by_name("Test14", quarter.third)
winner_by_name("Test10", quarter.fourth) winner_by_name("Test10", quarter.fourth)
winner_by_name("Test12", conso_round2.second) winner_by_name("Test12", conso_r8_1.second)
winner_by_name("Test3", conso_round2.third) winner_by_name("Test3", conso_r8_1.third)
semis = matches.select{|m| m.bracket_position == "Semis"}.sort_by{|m| m.bracket_position_number} semis = matches.select{|m| m.bracket_position == "Semis"}.sort_by{|m| m.bracket_position_number}
assert semis.first.reload.wrestler1.name == "Test1" assert semis.first.reload.wrestler1.name == "Test1"
@@ -56,20 +56,20 @@ class DoubleEliminationSixteenManEightPlacesRunThrough < ActionDispatch::Integra
assert semis.second.reload.wrestler1.name == "Test14" assert semis.second.reload.wrestler1.name == "Test14"
assert semis.second.reload.wrestler2.name == "Test10" assert semis.second.reload.wrestler2.name == "Test10"
conso_round3 = matches.select{|m| m.bracket_position == "Conso" and m.round == 3}.sort_by{|m| m.bracket_position_number} conso_r8_2 = matches.select{|m| m.bracket_position == "Conso Round of 8.2"}.sort_by{|m| m.bracket_position_number}
assert conso_round3.first.reload.wrestler1.name == "Test2" assert conso_r8_2.first.reload.wrestler1.name == "Test2"
assert conso_round3.first.reload.wrestler2.name == "Test8" assert conso_r8_2.first.reload.wrestler2.name == "Test8"
assert conso_round3.second.reload.wrestler1.name == "Test6" assert conso_r8_2.second.reload.wrestler1.name == "Test6"
assert conso_round3.second.reload.wrestler2.name == "Test12" assert conso_r8_2.second.reload.wrestler2.name == "Test12"
assert conso_round3.third.reload.wrestler1.name == "Test4" assert conso_r8_2.third.reload.wrestler1.name == "Test4"
assert conso_round3.third.reload.wrestler2.name == "Test3" assert conso_r8_2.third.reload.wrestler2.name == "Test3"
assert conso_round3.fourth.reload.wrestler1.name == "Test9" assert conso_r8_2.fourth.reload.wrestler1.name == "Test9"
assert conso_round3.fourth.reload.wrestler2.name == "Test7" assert conso_r8_2.fourth.reload.wrestler2.name == "Test7"
winner_by_name("Test2", conso_round3.first) winner_by_name("Test2", conso_r8_2.first)
winner_by_name("Test6", conso_round3.second) winner_by_name("Test6", conso_r8_2.second)
winner_by_name("Test3", conso_round3.third) winner_by_name("Test3", conso_r8_2.third)
winner_by_name("Test9", conso_round3.fourth) winner_by_name("Test9", conso_r8_2.fourth)
conso_quarter = matches.select{|m| m.bracket_position == "Conso Quarter"}.sort_by{|m| m.bracket_position_number} conso_quarter = matches.select{|m| m.bracket_position == "Conso Quarter"}.sort_by{|m| m.bracket_position_number}
assert conso_quarter.first.reload.wrestler1.name == "Test2" assert conso_quarter.first.reload.wrestler1.name == "Test2"

View File

@@ -16,7 +16,7 @@ class EightManDoubleEliminationSixPlacesRunThrough < ActionDispatch::Integration
test "Wrestlers with seeds should go on certain lines and it should be random for everyone else" do test "Wrestlers with seeds should go on certain lines and it should be random for everyone else" do
matches = @tournament.reload.matches matches = @tournament.reload.matches
matches.select{|m| m.round == 1}.each do | match | matches.select{|m| m.bracket_position == "Quarter"}.each do | match |
assert(match.wrestler1.original_seed != nil) assert(match.wrestler1.original_seed != nil)
assert(match.wrestler2.original_seed == nil) assert(match.wrestler2.original_seed == nil)
end end
@@ -56,7 +56,7 @@ class EightManDoubleEliminationSixPlacesRunThrough < ActionDispatch::Integration
end end
test "Deleting a wrestler and generating produces a BYE for the person who lost their opponent" do test "Deleting a wrestler and generating produces a BYE for the person who lost their opponent" do
wrestler_three_first_round = @tournament.reload.matches.select{|m| m.round == 1 && m.wrestler1.name == "Test3"}.first wrestler_three_first_round = @tournament.reload.matches.select{|m| m.bracket_position == "Quarter" && m.wrestler1.name == "Test3"}.first
wrestler_three_first_round.wrestler2.destroy wrestler_three_first_round.wrestler2.destroy
GenerateTournamentMatches.new(@tournament.reload).generate GenerateTournamentMatches.new(@tournament.reload).generate
matches = @tournament.reload.matches matches = @tournament.reload.matches
@@ -66,8 +66,8 @@ class EightManDoubleEliminationSixPlacesRunThrough < ActionDispatch::Integration
end end
test "Deleting a seeded wrestler reseeding and generating produces a BYE for the non seeded opponent who lost their match" do test "Deleting a seeded wrestler reseeding and generating produces a BYE for the non seeded opponent who lost their match" do
wrestler_two_first_round = @tournament.reload.matches.select{|m| m.round == 1 && m.wrestler1.name == "Test2"}.first wrestler_two_first_round = @tournament.reload.matches.select{|m| m.bracket_position == "Quarter" && m.wrestler1.name == "Test2"}.first
wrestler_four_first_round = @tournament.matches.select{|m| m.round == 1 && m.wrestler1.name == "Test4"}.first wrestler_four_first_round = @tournament.matches.select{|m| m.bracket_position == "Quarter" && m.wrestler1.name == "Test4"}.first
wrestler_four_first_round_opponent = wrestler_four_first_round.wrestler2.id wrestler_four_first_round_opponent = wrestler_four_first_round.wrestler2.id
wrestler_two_first_round.wrestler1.destroy wrestler_two_first_round.wrestler1.destroy
@@ -81,7 +81,7 @@ class EightManDoubleEliminationSixPlacesRunThrough < ActionDispatch::Integration
GenerateTournamentMatches.new(@tournament.reload).generate GenerateTournamentMatches.new(@tournament.reload).generate
matches = @tournament.reload.matches matches = @tournament.reload.matches
assert(matches.select{|m| m.round == 1 && m.w2 == wrestler_four_first_round_opponent}.first.loser1_name == "BYE") assert(matches.select{|m| m.bracket_position == "Quarter" && m.w2 == wrestler_four_first_round_opponent}.first.loser1_name == "BYE")
end end
test "Swapping seeds should change just the bracket line of the two wrestlers swapped" do test "Swapping seeds should change just the bracket line of the two wrestlers swapped" do
@@ -127,7 +127,7 @@ class EightManDoubleEliminationSixPlacesRunThrough < ActionDispatch::Integration
end end
test "Changing a wrestler from not seeded to seeded should only change his line and the person who had the line they now get" do test "Changing a wrestler from not seeded to seeded should only change his line and the person who had the line they now get" do
matches_original = @tournament.matches.select{|m| m.round == 1} matches_original = @tournament.matches.select{|m| m.bracket_position == "Quarter"}
original_wrestler4_opponent_name = matches_original.select{|m| m.wrestler1.name == "Test4"}.first.wrestler2.name original_wrestler4_opponent_name = matches_original.select{|m| m.wrestler1.name == "Test4"}.first.wrestler2.name
wrestler_seven = @tournament.wrestlers.select{|w| w.name == "Test7"}.first wrestler_seven = @tournament.wrestlers.select{|w| w.name == "Test7"}.first
@@ -136,7 +136,7 @@ class EightManDoubleEliminationSixPlacesRunThrough < ActionDispatch::Integration
GenerateTournamentMatches.new(@tournament.reload).generate GenerateTournamentMatches.new(@tournament.reload).generate
matches_second = @tournament.reload.matches.select{|m| m.round == 1} matches_second = @tournament.reload.matches.select{|m| m.bracket_position == "Quarter"}
# everyone else should have the same opponent # everyone else should have the same opponent
matches_original.each do |match| matches_original.each do |match|
match_wrestler1_name = @tournament.wrestlers.select{|w| w.id == match.w1}.first.name match_wrestler1_name = @tournament.wrestlers.select{|w| w.id == match.w1}.first.name

View File

@@ -32,7 +32,7 @@ class DoubleEliminationWrestlerScore < ActionDispatch::IntegrationTest
test "Wrestlers get points for byes in the championship rounds" do test "Wrestlers get points for byes in the championship rounds" do
matches = @tournament.matches.reload matches = @tournament.matches.reload
round1 = matches.select{|m| m.round == 1}.first round1 = matches.select{|m| m.bracket_position == "Bracket Round of 16"}.first
quarter = matches.select{|m| m.bracket_position == "Quarter"}.first quarter = matches.select{|m| m.bracket_position == "Quarter"}.first
semi = matches.select{|m| m.bracket_position == "Semis"}.first semi = matches.select{|m| m.bracket_position == "Semis"}.first
winner_by_name_by_bye("Test1", round1) winner_by_name_by_bye("Test1", round1)
@@ -44,10 +44,10 @@ class DoubleEliminationWrestlerScore < ActionDispatch::IntegrationTest
test "Wrestlers get points for byes in the consolation rounds" do test "Wrestlers get points for byes in the consolation rounds" do
matches = @tournament.matches.reload matches = @tournament.matches.reload
round2 = matches.select{|m| m.round == 2 and m.bracket_position == "Conso"}.first conso_r8_1 = matches.select{|m| m.bracket_position == "Conso Round of 8.1"}.first
quarter = matches.select{|m| m.bracket_position == "Conso Quarter"}.first quarter = matches.select{|m| m.bracket_position == "Conso Quarter"}.first
semi = matches.select{|m| m.bracket_position == "Conso Semis"}.first semi = matches.select{|m| m.bracket_position == "Conso Semis"}.first
winner_by_name_by_bye("Test1", round2) winner_by_name_by_bye("Test1", conso_r8_1)
winner_by_name_by_bye("Test1", quarter) winner_by_name_by_bye("Test1", quarter)
winner_by_name("Test1", semi) winner_by_name("Test1", semi)
wrestler_points_calc = CalculateWrestlerTeamScore.new(get_wretler_by_name("Test1")) wrestler_points_calc = CalculateWrestlerTeamScore.new(get_wretler_by_name("Test1"))
@@ -56,7 +56,7 @@ class DoubleEliminationWrestlerScore < ActionDispatch::IntegrationTest
test "Wrestlers do not get bye points if they get byes to 1st/2nd and win by bye" do test "Wrestlers do not get bye points if they get byes to 1st/2nd and win by bye" do
matches = @tournament.matches.reload matches = @tournament.matches.reload
round1 = matches.select{|m| m.round == 1}.first round1 = matches.select{|m| m.bracket_position == "Bracket Round of 16"}.first
quarter = matches.select{|m| m.bracket_position == "Quarter"}.first quarter = matches.select{|m| m.bracket_position == "Quarter"}.first
semi = matches.select{|m| m.bracket_position == "Semis"}.first semi = matches.select{|m| m.bracket_position == "Semis"}.first
final = matches.select{|m| m.bracket_position == "1/2"}.first final = matches.select{|m| m.bracket_position == "1/2"}.first
@@ -70,11 +70,11 @@ class DoubleEliminationWrestlerScore < ActionDispatch::IntegrationTest
test "Wrestlers do not get bye points if they get byes to 3rd/4th and win by bye" do test "Wrestlers do not get bye points if they get byes to 3rd/4th and win by bye" do
matches = @tournament.matches.reload matches = @tournament.matches.reload
round2 = matches.select{|m| m.round == 2 and m.bracket_position == "Conso"}.first conso_r8_1 = matches.select{|m| m.bracket_position == "Conso Round of 8.1"}.first
quarter = matches.select{|m| m.bracket_position == "Conso Quarter"}.first quarter = matches.select{|m| m.bracket_position == "Conso Quarter"}.first
semi = matches.select{|m| m.bracket_position == "Conso Semis"}.first semi = matches.select{|m| m.bracket_position == "Conso Semis"}.first
final = matches.select{|m| m.bracket_position == "3/4"}.first final = matches.select{|m| m.bracket_position == "3/4"}.first
winner_by_name_by_bye("Test1", round2) winner_by_name_by_bye("Test1", conso_r8_1)
winner_by_name_by_bye("Test1", quarter) winner_by_name_by_bye("Test1", quarter)
winner_by_name_by_bye("Test1", semi) winner_by_name_by_bye("Test1", semi)
winner_by_name_by_bye("Test1", final) winner_by_name_by_bye("Test1", final)
@@ -84,7 +84,7 @@ class DoubleEliminationWrestlerScore < ActionDispatch::IntegrationTest
test "Wrestlers do not get bye points if they get byes to 1st/2nd and win by decision" do test "Wrestlers do not get bye points if they get byes to 1st/2nd and win by decision" do
matches = @tournament.matches.reload matches = @tournament.matches.reload
round1 = matches.select{|m| m.round == 1}.first round1 = matches.select{|m| m.bracket_position == "Bracket Round of 16"}.first
quarter = matches.select{|m| m.bracket_position == "Quarter"}.first quarter = matches.select{|m| m.bracket_position == "Quarter"}.first
semi = matches.select{|m| m.bracket_position == "Semis"}.first semi = matches.select{|m| m.bracket_position == "Semis"}.first
final = matches.select{|m| m.bracket_position == "1/2"}.first final = matches.select{|m| m.bracket_position == "1/2"}.first
@@ -98,11 +98,11 @@ class DoubleEliminationWrestlerScore < ActionDispatch::IntegrationTest
test "Wrestlers do not get bye points if they get byes to 3rd/4th and win by decision" do test "Wrestlers do not get bye points if they get byes to 3rd/4th and win by decision" do
matches = @tournament.matches.reload matches = @tournament.matches.reload
round2 = matches.select{|m| m.round == 2 and m.bracket_position == "Conso"}.first conso_r8_1 = matches.select{|m| m.bracket_position == "Conso Round of 8.1"}.first
quarter = matches.select{|m| m.bracket_position == "Conso Quarter"}.first quarter = matches.select{|m| m.bracket_position == "Conso Quarter"}.first
semi = matches.select{|m| m.bracket_position == "Conso Semis"}.first semi = matches.select{|m| m.bracket_position == "Conso Semis"}.first
final = matches.select{|m| m.bracket_position == "3/4"}.first final = matches.select{|m| m.bracket_position == "3/4"}.first
winner_by_name_by_bye("Test1", round2) winner_by_name_by_bye("Test1", conso_r8_1)
winner_by_name_by_bye("Test1", quarter) winner_by_name_by_bye("Test1", quarter)
winner_by_name_by_bye("Test1", semi) winner_by_name_by_bye("Test1", semi)
winner_by_name("Test1", final) winner_by_name("Test1", final)

View File

@@ -10,8 +10,8 @@ class ModifiedDoubleEliminationSixPlacesManMatchGeneration < ActionDispatch::Int
assert @tournament.matches.select{|m| m.bracket_position == "1/2"}.count == 1 assert @tournament.matches.select{|m| m.bracket_position == "1/2"}.count == 1
assert @tournament.matches.select{|m| m.bracket_position == "3/4"}.count == 1 assert @tournament.matches.select{|m| m.bracket_position == "3/4"}.count == 1
assert @tournament.matches.select{|m| m.bracket_position == "5/6"}.count == 1 assert @tournament.matches.select{|m| m.bracket_position == "5/6"}.count == 1
assert @tournament.matches.select{|m| m.bracket_position == "Bracket" and m.round == 1}.count == 8 assert @tournament.matches.select{|m| m.bracket_position == "Bracket Round of 16" and m.round == 1}.count == 8
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2}.count == 4 assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8" and m.round == 2}.count == 4
assert @tournament.matches.select{|m| m.bracket_position == "Quarter"}.count == 4 assert @tournament.matches.select{|m| m.bracket_position == "Quarter"}.count == 4
assert @tournament.matches.select{|m| m.bracket_position == "Semis"}.count == 2 assert @tournament.matches.select{|m| m.bracket_position == "Semis"}.count == 2
assert @tournament.matches.select{|m| m.bracket_position == "Conso Quarter"}.count == 4 assert @tournament.matches.select{|m| m.bracket_position == "Conso Quarter"}.count == 4
@@ -20,14 +20,14 @@ class ModifiedDoubleEliminationSixPlacesManMatchGeneration < ActionDispatch::Int
test "Seeded wrestlers have correct first line" do test "Seeded wrestlers have correct first line" do
@tournament.matches.reload @tournament.matches.reload
match1 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 1}.first match1 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 1}.first
match2 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 2}.first match2 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 2}.first
match3 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 3}.first match3 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 3}.first
match4 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 4}.first match4 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 4}.first
match5 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 5}.first match5 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 5}.first
match6 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 6}.first match6 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 6}.first
match7 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 7}.first match7 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 7}.first
match8 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 8}.first match8 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 8}.first
assert match1.wrestler1.bracket_line == 1 assert match1.wrestler1.bracket_line == 1
assert match1.loser2_name == "BYE" assert match1.loser2_name == "BYE"
@@ -65,23 +65,23 @@ class ModifiedDoubleEliminationSixPlacesManMatchGeneration < ActionDispatch::Int
test "Loser names set up correctly" do test "Loser names set up correctly" do
@tournament.matches.reload @tournament.matches.reload
match1 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 1}.first match1 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 1}.first
match2 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 2}.first match2 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 2}.first
match3 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 3}.first match3 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 3}.first
match4 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 4}.first match4 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 4}.first
match5 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 5}.first match5 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 5}.first
match6 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 6}.first match6 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 6}.first
match7 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 7}.first match7 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 7}.first
match8 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 8}.first match8 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 8}.first
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 1}.first.loser1_name == "BYE" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8" && m.bracket_position_number == 1}.first.loser1_name == "BYE"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 1}.first.loser2_name == "Loser of #{match2.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8" && m.bracket_position_number == 1}.first.loser2_name == "Loser of #{match2.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 2}.first.loser1_name == "Loser of #{match3.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8" && m.bracket_position_number == 2}.first.loser1_name == "Loser of #{match3.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 2}.first.loser2_name == "Loser of #{match4.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8" && m.bracket_position_number == 2}.first.loser2_name == "Loser of #{match4.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 3}.first.loser1_name == "Loser of #{match5.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8" && m.bracket_position_number == 3}.first.loser1_name == "Loser of #{match5.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 3}.first.loser2_name == "Loser of #{match6.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8" && m.bracket_position_number == 3}.first.loser2_name == "Loser of #{match6.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 4}.first.loser1_name == "Loser of #{match7.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8" && m.bracket_position_number == 4}.first.loser1_name == "Loser of #{match7.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 4}.first.loser2_name == "BYE" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8" && m.bracket_position_number == 4}.first.loser2_name == "BYE"
quarter1 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 1}.first quarter1 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 1}.first
quarter2 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 2}.first quarter2 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 2}.first

View File

@@ -17,7 +17,7 @@ class ModifiedDoubleEliminationSixPlacesRunThrough < ActionDispatch::Integration
@tournament = create_double_elim_tournament_single_weight(14, "Modified 16 Man Double Elimination 1-6") @tournament = create_double_elim_tournament_single_weight(14, "Modified 16 Man Double Elimination 1-6")
matches = @tournament.matches.reload matches = @tournament.matches.reload
round1 = matches.select{|m| m.round == 1} round1 = matches.select{|m| m.bracket_position == "Bracket Round of 16"}
winner_by_name("Test9", round1.select{|m| m.bracket_position_number == 2}.first) winner_by_name("Test9", round1.select{|m| m.bracket_position_number == 2}.first)
winner_by_name("Test5", round1.select{|m| m.bracket_position_number == 3}.first) winner_by_name("Test5", round1.select{|m| m.bracket_position_number == 3}.first)
winner_by_name("Test4", round1.select{|m| m.bracket_position_number == 4}.first) winner_by_name("Test4", round1.select{|m| m.bracket_position_number == 4}.first)
@@ -35,7 +35,7 @@ class ModifiedDoubleEliminationSixPlacesRunThrough < ActionDispatch::Integration
assert quarter.fourth.reload.wrestler1.name == "Test10" assert quarter.fourth.reload.wrestler1.name == "Test10"
assert quarter.fourth.reload.wrestler2.name == "Test2" assert quarter.fourth.reload.wrestler2.name == "Test2"
conso_round2 = matches.select{|m| m.bracket_position == "Conso" and m.round == 2}.sort_by{|m| m.bracket_position_number} conso_round2 = matches.select{|m| m.bracket_position == "Conso Round of 8"}.sort_by{|m| m.bracket_position_number}
assert conso_round2.first.reload.wrestler2.name == "Test8" assert conso_round2.first.reload.wrestler2.name == "Test8"
assert conso_round2.second.reload.wrestler1.name == "Test12" assert conso_round2.second.reload.wrestler1.name == "Test12"
assert conso_round2.second.reload.wrestler2.name == "Test14" assert conso_round2.second.reload.wrestler2.name == "Test14"

View File

@@ -11,24 +11,24 @@ class ModifiedDoubleEliminationEightPlacesManMatchGeneration < ActionDispatch::I
assert @tournament.matches.select{|m| m.bracket_position == "3/4"}.count == 1 assert @tournament.matches.select{|m| m.bracket_position == "3/4"}.count == 1
assert @tournament.matches.select{|m| m.bracket_position == "5/6"}.count == 1 assert @tournament.matches.select{|m| m.bracket_position == "5/6"}.count == 1
assert @tournament.matches.select{|m| m.bracket_position == "7/8"}.count == 1 assert @tournament.matches.select{|m| m.bracket_position == "7/8"}.count == 1
assert @tournament.matches.select{|m| m.bracket_position == "Bracket" and m.round == 1}.count == 8 assert @tournament.matches.select{|m| m.bracket_position == "Bracket Round of 16" and m.round == 1}.count == 8
assert @tournament.matches.select{|m| m.bracket_position == "Quarter"}.count == 4 assert @tournament.matches.select{|m| m.bracket_position == "Quarter"}.count == 4
assert @tournament.matches.select{|m| m.bracket_position == "Semis"}.count == 2 assert @tournament.matches.select{|m| m.bracket_position == "Semis"}.count == 2
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2}.count == 4 assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8" and m.round == 2}.count == 4
assert @tournament.matches.select{|m| m.bracket_position == "Conso Quarter"}.count == 4 assert @tournament.matches.select{|m| m.bracket_position == "Conso Quarter"}.count == 4
assert @tournament.matches.select{|m| m.bracket_position == "Conso Semis"}.count == 2 assert @tournament.matches.select{|m| m.bracket_position == "Conso Semis"}.count == 2
end end
test "Seeded wrestlers have correct first line" do test "Seeded wrestlers have correct first line" do
@tournament.matches.reload @tournament.matches.reload
match1 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 1}.first match1 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 1}.first
match2 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 2}.first match2 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 2}.first
match3 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 3}.first match3 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 3}.first
match4 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 4}.first match4 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 4}.first
match5 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 5}.first match5 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 5}.first
match6 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 6}.first match6 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 6}.first
match7 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 7}.first match7 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 7}.first
match8 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 8}.first match8 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 8}.first
assert match1.wrestler1.bracket_line == 1 assert match1.wrestler1.bracket_line == 1
assert match1.loser2_name == "BYE" assert match1.loser2_name == "BYE"
@@ -66,23 +66,23 @@ class ModifiedDoubleEliminationEightPlacesManMatchGeneration < ActionDispatch::I
test "Loser names set up correctly" do test "Loser names set up correctly" do
@tournament.matches.reload @tournament.matches.reload
match1 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 1}.first match1 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 1}.first
match2 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 2}.first match2 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 2}.first
match3 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 3}.first match3 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 3}.first
match4 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 4}.first match4 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 4}.first
match5 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 5}.first match5 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 5}.first
match6 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 6}.first match6 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 6}.first
match7 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 7}.first match7 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 7}.first
match8 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 8}.first match8 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 8}.first
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 1}.first.loser1_name == "BYE" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8" && m.bracket_position_number == 1}.first.loser1_name == "BYE"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 1}.first.loser2_name == "Loser of #{match2.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8" && m.bracket_position_number == 1}.first.loser2_name == "Loser of #{match2.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 2}.first.loser1_name == "Loser of #{match3.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8" && m.bracket_position_number == 2}.first.loser1_name == "Loser of #{match3.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 2}.first.loser2_name == "Loser of #{match4.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8" && m.bracket_position_number == 2}.first.loser2_name == "Loser of #{match4.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 3}.first.loser1_name == "Loser of #{match5.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8" && m.bracket_position_number == 3}.first.loser1_name == "Loser of #{match5.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 3}.first.loser2_name == "Loser of #{match6.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8" && m.bracket_position_number == 3}.first.loser2_name == "Loser of #{match6.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 4}.first.loser1_name == "Loser of #{match7.bout_number}" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8" && m.bracket_position_number == 4}.first.loser1_name == "Loser of #{match7.bout_number}"
assert @tournament.matches.select{|m| m.bracket_position == "Conso" and m.round == 2 && m.bracket_position_number == 4}.first.loser2_name == "BYE" assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8" && m.bracket_position_number == 4}.first.loser2_name == "BYE"
quarter1 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 1}.first quarter1 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 1}.first
quarter2 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 2}.first quarter2 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 2}.first

View File

@@ -17,7 +17,7 @@ class ModifiedDoubleEliminationEightPlacesRunThrough < ActionDispatch::Integrati
@tournament = create_double_elim_tournament_single_weight(14, "Modified 16 Man Double Elimination 1-8") @tournament = create_double_elim_tournament_single_weight(14, "Modified 16 Man Double Elimination 1-8")
matches = @tournament.matches.reload matches = @tournament.matches.reload
round1 = matches.select{|m| m.round == 1} round1 = matches.select{|m| m.bracket_position == "Bracket Round of 16"}
winner_by_name("Test9", round1.select{|m| m.bracket_position_number == 2}.first) winner_by_name("Test9", round1.select{|m| m.bracket_position_number == 2}.first)
winner_by_name("Test5", round1.select{|m| m.bracket_position_number == 3}.first) winner_by_name("Test5", round1.select{|m| m.bracket_position_number == 3}.first)
winner_by_name("Test4", round1.select{|m| m.bracket_position_number == 4}.first) winner_by_name("Test4", round1.select{|m| m.bracket_position_number == 4}.first)
@@ -35,7 +35,7 @@ class ModifiedDoubleEliminationEightPlacesRunThrough < ActionDispatch::Integrati
assert quarter.fourth.reload.wrestler1.name == "Test10" assert quarter.fourth.reload.wrestler1.name == "Test10"
assert quarter.fourth.reload.wrestler2.name == "Test2" assert quarter.fourth.reload.wrestler2.name == "Test2"
conso_round2 = matches.select{|m| m.bracket_position == "Conso" and m.round == 2}.sort_by{|m| m.bracket_position_number} conso_round2 = matches.select{|m| m.bracket_position == "Conso Round of 8"}.sort_by{|m| m.bracket_position_number}
assert conso_round2.first.reload.wrestler2.name == "Test8" assert conso_round2.first.reload.wrestler2.name == "Test8"
assert conso_round2.second.reload.wrestler1.name == "Test12" assert conso_round2.second.reload.wrestler1.name == "Test12"
assert conso_round2.second.reload.wrestler2.name == "Test14" assert conso_round2.second.reload.wrestler2.name == "Test14"

View File

@@ -44,7 +44,7 @@ class ModifiedDoubleEliminationWrestlerScore < ActionDispatch::IntegrationTest
test "Wrestlers get points for byes in the consolation rounds" do test "Wrestlers get points for byes in the consolation rounds" do
matches = @tournament.matches.reload matches = @tournament.matches.reload
round2 = matches.select{|m| m.round == 2 and m.bracket_position == "Conso"}.first round2 = matches.select{|m| m.bracket_position == "Conso Round of 8"}.first
quarter = matches.select{|m| m.bracket_position == "Conso Quarter"}.first quarter = matches.select{|m| m.bracket_position == "Conso Quarter"}.first
semi = matches.select{|m| m.bracket_position == "Conso Semis"}.first semi = matches.select{|m| m.bracket_position == "Conso Semis"}.first
winner_by_name_by_bye("Test1", round2) winner_by_name_by_bye("Test1", round2)
@@ -70,7 +70,7 @@ class ModifiedDoubleEliminationWrestlerScore < ActionDispatch::IntegrationTest
test "Wrestlers do not get bye points if they get byes to 5th/6th and win by bye" do test "Wrestlers do not get bye points if they get byes to 5th/6th and win by bye" do
matches = @tournament.matches.reload matches = @tournament.matches.reload
round2 = matches.select{|m| m.round == 2 and m.bracket_position == "Conso"}.first round2 = matches.select{|m| m.bracket_position == "Conso Round of 8"}.first
quarter = matches.select{|m| m.bracket_position == "Conso Quarter"}.first quarter = matches.select{|m| m.bracket_position == "Conso Quarter"}.first
semi = matches.select{|m| m.bracket_position == "Conso Semis"}.first semi = matches.select{|m| m.bracket_position == "Conso Semis"}.first
final = matches.select{|m| m.bracket_position == "5/6"}.first final = matches.select{|m| m.bracket_position == "5/6"}.first
@@ -98,7 +98,7 @@ class ModifiedDoubleEliminationWrestlerScore < ActionDispatch::IntegrationTest
test "Wrestlers do not get bye points if they get byes to 5th/6th and win by decision" do test "Wrestlers do not get bye points if they get byes to 5th/6th and win by decision" do
matches = @tournament.matches.reload matches = @tournament.matches.reload
round2 = matches.select{|m| m.round == 2 and m.bracket_position == "Conso"}.first round2 = matches.select{|m| m.bracket_position == "Conso Round of 8"}.first
quarter = matches.select{|m| m.bracket_position == "Conso Quarter"}.first quarter = matches.select{|m| m.bracket_position == "Conso Quarter"}.first
semi = matches.select{|m| m.bracket_position == "Conso Semis"}.first semi = matches.select{|m| m.bracket_position == "Conso Semis"}.first
final = matches.select{|m| m.bracket_position == "5/6"}.first final = matches.select{|m| m.bracket_position == "5/6"}.first

View File

@@ -33,111 +33,111 @@ class TournamentBackupImportTest < ActionDispatch::IntegrationTest
# Copied from double_elimination_32_man_1_8_run_through_test.rb # Copied from double_elimination_32_man_1_8_run_through_test.rb
matches = @tournament.matches.reload matches = @tournament.matches.reload
round1 = matches.select{|m| m.round == 1} bracket_r32 = matches.select{|m| m.bracket_position == "Bracket Round of 32"}
winner_by_name("Test17", round1.select{|m| m.bracket_position_number == 2}.first) winner_by_name("Test17", bracket_r32.select{|m| m.bracket_position_number == 2}.first)
winner_by_name("Test9", round1.select{|m| m.bracket_position_number == 3}.first) winner_by_name("Test9", bracket_r32.select{|m| m.bracket_position_number == 3}.first)
winner_by_name("Test25", round1.select{|m| m.bracket_position_number == 4}.first) winner_by_name("Test25", bracket_r32.select{|m| m.bracket_position_number == 4}.first)
winner_by_name("Test5", round1.select{|m| m.bracket_position_number == 5}.first) winner_by_name("Test5", bracket_r32.select{|m| m.bracket_position_number == 5}.first)
winner_by_name("Test12", round1.select{|m| m.bracket_position_number == 6}.first) winner_by_name("Test12", bracket_r32.select{|m| m.bracket_position_number == 6}.first)
winner_by_name("Test20", round1.select{|m| m.bracket_position_number == 7}.first) winner_by_name("Test20", bracket_r32.select{|m| m.bracket_position_number == 7}.first)
winner_by_name("Test4", round1.select{|m| m.bracket_position_number == 8}.first) winner_by_name("Test4", bracket_r32.select{|m| m.bracket_position_number == 8}.first)
winner_by_name("Test3", round1.select{|m| m.bracket_position_number == 9}.first) winner_by_name("Test3", bracket_r32.select{|m| m.bracket_position_number == 9}.first)
winner_by_name("Test14", round1.select{|m| m.bracket_position_number == 10}.first) winner_by_name("Test14", bracket_r32.select{|m| m.bracket_position_number == 10}.first)
winner_by_name("Test11", round1.select{|m| m.bracket_position_number == 11}.first) winner_by_name("Test11", bracket_r32.select{|m| m.bracket_position_number == 11}.first)
winner_by_name("Test6", round1.select{|m| m.bracket_position_number == 12}.first) winner_by_name("Test6", bracket_r32.select{|m| m.bracket_position_number == 12}.first)
winner_by_name("Test7", round1.select{|m| m.bracket_position_number == 13}.first) winner_by_name("Test7", bracket_r32.select{|m| m.bracket_position_number == 13}.first)
winner_by_name("Test10", round1.select{|m| m.bracket_position_number == 14}.first) winner_by_name("Test10", bracket_r32.select{|m| m.bracket_position_number == 14}.first)
winner_by_name("Test18", round1.select{|m| m.bracket_position_number == 15}.first) winner_by_name("Test18", bracket_r32.select{|m| m.bracket_position_number == 15}.first)
round2_championship = matches.reload.select{|m| m.bracket_position == "Bracket" and m.round == 2}.sort_by{|m| m.bracket_position_number} bracket_r16 = matches.reload.select{|m| m.bracket_position == "Bracket Round of 16"}.sort_by{|m| m.bracket_position_number}
assert round2_championship.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test1" assert bracket_r16.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test1"
assert round2_championship.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test17" assert bracket_r16.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test17"
assert round2_championship.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test9" assert bracket_r16.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test9"
assert round2_championship.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test25" assert bracket_r16.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test25"
assert round2_championship.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test5" assert bracket_r16.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test5"
assert round2_championship.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test12" assert bracket_r16.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test12"
assert round2_championship.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test20" assert bracket_r16.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test20"
assert round2_championship.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test4" assert bracket_r16.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test4"
assert round2_championship.select{|m| m.bracket_position_number == 5}.first.reload.wrestler1.name == "Test3" assert bracket_r16.select{|m| m.bracket_position_number == 5}.first.reload.wrestler1.name == "Test3"
assert round2_championship.select{|m| m.bracket_position_number == 5}.first.reload.wrestler2.name == "Test14" assert bracket_r16.select{|m| m.bracket_position_number == 5}.first.reload.wrestler2.name == "Test14"
assert round2_championship.select{|m| m.bracket_position_number == 6}.first.reload.wrestler1.name == "Test11" assert bracket_r16.select{|m| m.bracket_position_number == 6}.first.reload.wrestler1.name == "Test11"
assert round2_championship.select{|m| m.bracket_position_number == 6}.first.reload.wrestler2.name == "Test6" assert bracket_r16.select{|m| m.bracket_position_number == 6}.first.reload.wrestler2.name == "Test6"
assert round2_championship.select{|m| m.bracket_position_number == 7}.first.reload.wrestler1.name == "Test7" assert bracket_r16.select{|m| m.bracket_position_number == 7}.first.reload.wrestler1.name == "Test7"
assert round2_championship.select{|m| m.bracket_position_number == 7}.first.reload.wrestler2.name == "Test10" assert bracket_r16.select{|m| m.bracket_position_number == 7}.first.reload.wrestler2.name == "Test10"
assert round2_championship.select{|m| m.bracket_position_number == 8}.first.reload.wrestler1.name == "Test18" assert bracket_r16.select{|m| m.bracket_position_number == 8}.first.reload.wrestler1.name == "Test18"
assert round2_championship.select{|m| m.bracket_position_number == 8}.first.reload.wrestler2.name == "Test2" assert bracket_r16.select{|m| m.bracket_position_number == 8}.first.reload.wrestler2.name == "Test2"
winner_by_name("Test1", round2_championship.select{|m| m.bracket_position_number == 1}.first) winner_by_name("Test1", bracket_r16.select{|m| m.bracket_position_number == 1}.first)
winner_by_name("Test25", round2_championship.select{|m| m.bracket_position_number == 2}.first) winner_by_name("Test25", bracket_r16.select{|m| m.bracket_position_number == 2}.first)
winner_by_name("Test5", round2_championship.select{|m| m.bracket_position_number == 3}.first) winner_by_name("Test5", bracket_r16.select{|m| m.bracket_position_number == 3}.first)
winner_by_name("Test4", round2_championship.select{|m| m.bracket_position_number == 4}.first) winner_by_name("Test4", bracket_r16.select{|m| m.bracket_position_number == 4}.first)
winner_by_name("Test3", round2_championship.select{|m| m.bracket_position_number == 5}.first) winner_by_name("Test3", bracket_r16.select{|m| m.bracket_position_number == 5}.first)
winner_by_name("Test11", round2_championship.select{|m| m.bracket_position_number == 6}.first) winner_by_name("Test11", bracket_r16.select{|m| m.bracket_position_number == 6}.first)
winner_by_name("Test10", round2_championship.select{|m| m.bracket_position_number == 7}.first) winner_by_name("Test10", bracket_r16.select{|m| m.bracket_position_number == 7}.first)
winner_by_name("Test2", round2_championship.select{|m| m.bracket_position_number == 8}.first) winner_by_name("Test2", bracket_r16.select{|m| m.bracket_position_number == 8}.first)
round2_conso = matches.reload.select{|m| m.bracket_position == "Conso" and m.round == 2}.sort_by{|m| m.bracket_position_number} conso_r16_1 = matches.reload.select{|m| m.bracket_position == "Conso Round of 16.1"}.sort_by{|m| m.bracket_position_number}
assert round2_conso.select{|m| m.bracket_position_number == 1}.first.reload.loser1_name == "BYE" assert conso_r16_1.select{|m| m.bracket_position_number == 1}.first.reload.loser1_name == "BYE"
assert round2_conso.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test16" assert conso_r16_1.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test16"
assert round2_conso.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test24" assert conso_r16_1.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test24"
assert round2_conso.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test8" assert conso_r16_1.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test8"
assert round2_conso.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test28" assert conso_r16_1.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test28"
assert round2_conso.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test21" assert conso_r16_1.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test21"
assert round2_conso.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test13" assert conso_r16_1.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test13"
assert round2_conso.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test29" assert conso_r16_1.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test29"
assert round2_conso.select{|m| m.bracket_position_number == 5}.first.reload.wrestler1.name == "Test30" assert conso_r16_1.select{|m| m.bracket_position_number == 5}.first.reload.wrestler1.name == "Test30"
assert round2_conso.select{|m| m.bracket_position_number == 5}.first.reload.wrestler2.name == "Test19" assert conso_r16_1.select{|m| m.bracket_position_number == 5}.first.reload.wrestler2.name == "Test19"
assert round2_conso.select{|m| m.bracket_position_number == 6}.first.reload.wrestler1.name == "Test22" assert conso_r16_1.select{|m| m.bracket_position_number == 6}.first.reload.wrestler1.name == "Test22"
assert round2_conso.select{|m| m.bracket_position_number == 6}.first.reload.wrestler2.name == "Test27" assert conso_r16_1.select{|m| m.bracket_position_number == 6}.first.reload.wrestler2.name == "Test27"
assert round2_conso.select{|m| m.bracket_position_number == 7}.first.reload.wrestler1.name == "Test26" assert conso_r16_1.select{|m| m.bracket_position_number == 7}.first.reload.wrestler1.name == "Test26"
assert round2_conso.select{|m| m.bracket_position_number == 7}.first.reload.wrestler2.name == "Test23" assert conso_r16_1.select{|m| m.bracket_position_number == 7}.first.reload.wrestler2.name == "Test23"
assert round2_conso.select{|m| m.bracket_position_number == 8}.first.reload.wrestler1.name == "Test15" assert conso_r16_1.select{|m| m.bracket_position_number == 8}.first.reload.wrestler1.name == "Test15"
assert round2_conso.select{|m| m.bracket_position_number == 8}.first.reload.loser2_name == "BYE" assert conso_r16_1.select{|m| m.bracket_position_number == 8}.first.reload.loser2_name == "BYE"
winner_by_name("Test8", round2_conso.select{|m| m.bracket_position_number == 2}.first) winner_by_name("Test8", conso_r16_1.select{|m| m.bracket_position_number == 2}.first)
winner_by_name("Test21", round2_conso.select{|m| m.bracket_position_number == 3}.first) winner_by_name("Test21", conso_r16_1.select{|m| m.bracket_position_number == 3}.first)
winner_by_name("Test29", round2_conso.select{|m| m.bracket_position_number == 4}.first) winner_by_name("Test29", conso_r16_1.select{|m| m.bracket_position_number == 4}.first)
winner_by_name("Test19", round2_conso.select{|m| m.bracket_position_number == 5}.first) winner_by_name("Test19", conso_r16_1.select{|m| m.bracket_position_number == 5}.first)
winner_by_name("Test22", round2_conso.select{|m| m.bracket_position_number == 6}.first) winner_by_name("Test22", conso_r16_1.select{|m| m.bracket_position_number == 6}.first)
winner_by_name("Test23", round2_conso.select{|m| m.bracket_position_number == 7}.first) winner_by_name("Test23", conso_r16_1.select{|m| m.bracket_position_number == 7}.first)
round3_conso = matches.reload.select{|m| m.bracket_position == "Conso" and m.round == 3}.sort_by{|m| m.bracket_position_number} conso_r16_2 = matches.reload.select{|m| m.bracket_position == "Conso Round of 16.2"}.sort_by{|m| m.bracket_position_number}
assert round3_conso.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test18" assert conso_r16_2.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test18"
assert round3_conso.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test16" assert conso_r16_2.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test16"
assert round3_conso.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test7" assert conso_r16_2.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test7"
assert round3_conso.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test8" assert conso_r16_2.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test8"
assert round3_conso.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test6" assert conso_r16_2.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test6"
assert round3_conso.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test21" assert conso_r16_2.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test21"
assert round3_conso.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test14" assert conso_r16_2.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test14"
assert round3_conso.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test29" assert conso_r16_2.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test29"
assert round3_conso.select{|m| m.bracket_position_number == 5}.first.reload.wrestler1.name == "Test20" assert conso_r16_2.select{|m| m.bracket_position_number == 5}.first.reload.wrestler1.name == "Test20"
assert round3_conso.select{|m| m.bracket_position_number == 5}.first.reload.wrestler2.name == "Test19" assert conso_r16_2.select{|m| m.bracket_position_number == 5}.first.reload.wrestler2.name == "Test19"
assert round3_conso.select{|m| m.bracket_position_number == 6}.first.reload.wrestler1.name == "Test12" assert conso_r16_2.select{|m| m.bracket_position_number == 6}.first.reload.wrestler1.name == "Test12"
assert round3_conso.select{|m| m.bracket_position_number == 6}.first.reload.wrestler2.name == "Test22" assert conso_r16_2.select{|m| m.bracket_position_number == 6}.first.reload.wrestler2.name == "Test22"
assert round3_conso.select{|m| m.bracket_position_number == 7}.first.reload.wrestler1.name == "Test9" assert conso_r16_2.select{|m| m.bracket_position_number == 7}.first.reload.wrestler1.name == "Test9"
assert round3_conso.select{|m| m.bracket_position_number == 7}.first.reload.wrestler2.name == "Test23" assert conso_r16_2.select{|m| m.bracket_position_number == 7}.first.reload.wrestler2.name == "Test23"
assert round3_conso.select{|m| m.bracket_position_number == 8}.first.reload.wrestler1.name == "Test17" assert conso_r16_2.select{|m| m.bracket_position_number == 8}.first.reload.wrestler1.name == "Test17"
assert round3_conso.select{|m| m.bracket_position_number == 8}.first.reload.wrestler2.name == "Test15" assert conso_r16_2.select{|m| m.bracket_position_number == 8}.first.reload.wrestler2.name == "Test15"
winner_by_name("Test16", round3_conso.select{|m| m.bracket_position_number == 1}.first) winner_by_name("Test16", conso_r16_2.select{|m| m.bracket_position_number == 1}.first)
winner_by_name("Test8", round3_conso.select{|m| m.bracket_position_number == 2}.first) winner_by_name("Test8", conso_r16_2.select{|m| m.bracket_position_number == 2}.first)
winner_by_name("Test6", round3_conso.select{|m| m.bracket_position_number == 3}.first) winner_by_name("Test6", conso_r16_2.select{|m| m.bracket_position_number == 3}.first)
winner_by_name("Test29", round3_conso.select{|m| m.bracket_position_number == 4}.first) winner_by_name("Test29", conso_r16_2.select{|m| m.bracket_position_number == 4}.first)
winner_by_name("Test20", round3_conso.select{|m| m.bracket_position_number == 5}.first) winner_by_name("Test20", conso_r16_2.select{|m| m.bracket_position_number == 5}.first)
winner_by_name("Test12", round3_conso.select{|m| m.bracket_position_number == 6}.first) winner_by_name("Test12", conso_r16_2.select{|m| m.bracket_position_number == 6}.first)
winner_by_name("Test23", round3_conso.select{|m| m.bracket_position_number == 7}.first) winner_by_name("Test23", conso_r16_2.select{|m| m.bracket_position_number == 7}.first)
winner_by_name("Test17", round3_conso.select{|m| m.bracket_position_number == 8}.first) winner_by_name("Test17", conso_r16_2.select{|m| m.bracket_position_number == 8}.first)
round4_conso = matches.reload.select{|m| m.bracket_position == "Conso" and m.round == 4}.sort_by{|m| m.bracket_position_number} conso_r8_1 = matches.reload.select{|m| m.bracket_position == "Conso Round of 8.1"}.sort_by{|m| m.bracket_position_number}
assert round4_conso.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test16" assert conso_r8_1.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test16"
assert round4_conso.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test8" assert conso_r8_1.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test8"
assert round4_conso.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test6" assert conso_r8_1.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test6"
assert round4_conso.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test29" assert conso_r8_1.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test29"
assert round4_conso.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test20" assert conso_r8_1.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test20"
assert round4_conso.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test12" assert conso_r8_1.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test12"
assert round4_conso.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test23" assert conso_r8_1.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test23"
assert round4_conso.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test17" assert conso_r8_1.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test17"
winner_by_name("Test8", round4_conso.select{|m| m.bracket_position_number == 1}.first) winner_by_name("Test8", conso_r8_1.select{|m| m.bracket_position_number == 1}.first)
winner_by_name("Test6", round4_conso.select{|m| m.bracket_position_number == 2}.first) winner_by_name("Test6", conso_r8_1.select{|m| m.bracket_position_number == 2}.first)
winner_by_name("Test20", round4_conso.select{|m| m.bracket_position_number == 3}.first) winner_by_name("Test20", conso_r8_1.select{|m| m.bracket_position_number == 3}.first)
winner_by_name("Test17", round4_conso.select{|m| m.bracket_position_number == 4}.first) winner_by_name("Test17", conso_r8_1.select{|m| m.bracket_position_number == 4}.first)
quarters = matches.reload.select{|m| m.bracket_position == "Quarter"}.sort_by{|m| m.bracket_position_number} quarters = matches.reload.select{|m| m.bracket_position == "Quarter"}.sort_by{|m| m.bracket_position_number}
assert quarters.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test1" assert quarters.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test1"
@@ -153,19 +153,19 @@ class TournamentBackupImportTest < ActionDispatch::IntegrationTest
winner_by_name("Test11", quarters.select{|m| m.bracket_position_number == 3}.first) winner_by_name("Test11", quarters.select{|m| m.bracket_position_number == 3}.first)
winner_by_name("Test2", quarters.select{|m| m.bracket_position_number == 4}.first) winner_by_name("Test2", quarters.select{|m| m.bracket_position_number == 4}.first)
round5_conso = matches.reload.select{|m| m.bracket_position == "Conso" and m.round == 5}.sort_by{|m| m.bracket_position_number} conso_r8_2 = matches.reload.select{|m| m.bracket_position == "Conso Round of 8.2"}.sort_by{|m| m.bracket_position_number}
assert round5_conso.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test25" assert conso_r8_2.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test25"
assert round5_conso.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test8" assert conso_r8_2.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test8"
assert round5_conso.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test4" assert conso_r8_2.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test4"
assert round5_conso.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test6" assert conso_r8_2.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test6"
assert round5_conso.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test3" assert conso_r8_2.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test3"
assert round5_conso.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test20" assert conso_r8_2.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test20"
assert round5_conso.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test10" assert conso_r8_2.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test10"
assert round5_conso.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test17" assert conso_r8_2.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test17"
winner_by_name("Test8", round5_conso.select{|m| m.bracket_position_number == 1}.first) winner_by_name("Test8", conso_r8_2.select{|m| m.bracket_position_number == 1}.first)
winner_by_name("Test6", round5_conso.select{|m| m.bracket_position_number == 2}.first) winner_by_name("Test6", conso_r8_2.select{|m| m.bracket_position_number == 2}.first)
winner_by_name("Test3", round5_conso.select{|m| m.bracket_position_number == 3}.first) winner_by_name("Test3", conso_r8_2.select{|m| m.bracket_position_number == 3}.first)
winner_by_name("Test10", round5_conso.select{|m| m.bracket_position_number == 4}.first) winner_by_name("Test10", conso_r8_2.select{|m| m.bracket_position_number == 4}.first)
quarters_conso = matches.reload.select{|m| m.bracket_position == "Conso Quarter"}.sort_by{|m| m.bracket_position_number} quarters_conso = matches.reload.select{|m| m.bracket_position == "Conso Quarter"}.sort_by{|m| m.bracket_position_number}
assert quarters_conso.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test8" assert quarters_conso.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test8"
@@ -226,69 +226,69 @@ class TournamentBackupImportTest < ActionDispatch::IntegrationTest
# Re-run the same asserts as above # Re-run the same asserts as above
matches = @tournament.matches.reload matches = @tournament.matches.reload
round2_championship = matches.reload.select{|m| m.bracket_position == "Bracket" and m.round == 2}.sort_by{|m| m.bracket_position_number} bracket_r16 = matches.reload.select{|m| m.bracket_position == "Bracket Round of 16"}.sort_by{|m| m.bracket_position_number}
assert round2_championship.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test1" assert bracket_r16.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test1"
assert round2_championship.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test17" assert bracket_r16.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test17"
assert round2_championship.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test9" assert bracket_r16.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test9"
assert round2_championship.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test25" assert bracket_r16.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test25"
assert round2_championship.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test5" assert bracket_r16.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test5"
assert round2_championship.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test12" assert bracket_r16.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test12"
assert round2_championship.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test20" assert bracket_r16.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test20"
assert round2_championship.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test4" assert bracket_r16.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test4"
assert round2_championship.select{|m| m.bracket_position_number == 5}.first.reload.wrestler1.name == "Test3" assert bracket_r16.select{|m| m.bracket_position_number == 5}.first.reload.wrestler1.name == "Test3"
assert round2_championship.select{|m| m.bracket_position_number == 5}.first.reload.wrestler2.name == "Test14" assert bracket_r16.select{|m| m.bracket_position_number == 5}.first.reload.wrestler2.name == "Test14"
assert round2_championship.select{|m| m.bracket_position_number == 6}.first.reload.wrestler1.name == "Test11" assert bracket_r16.select{|m| m.bracket_position_number == 6}.first.reload.wrestler1.name == "Test11"
assert round2_championship.select{|m| m.bracket_position_number == 6}.first.reload.wrestler2.name == "Test6" assert bracket_r16.select{|m| m.bracket_position_number == 6}.first.reload.wrestler2.name == "Test6"
assert round2_championship.select{|m| m.bracket_position_number == 7}.first.reload.wrestler1.name == "Test7" assert bracket_r16.select{|m| m.bracket_position_number == 7}.first.reload.wrestler1.name == "Test7"
assert round2_championship.select{|m| m.bracket_position_number == 7}.first.reload.wrestler2.name == "Test10" assert bracket_r16.select{|m| m.bracket_position_number == 7}.first.reload.wrestler2.name == "Test10"
assert round2_championship.select{|m| m.bracket_position_number == 8}.first.reload.wrestler1.name == "Test18" assert bracket_r16.select{|m| m.bracket_position_number == 8}.first.reload.wrestler1.name == "Test18"
assert round2_championship.select{|m| m.bracket_position_number == 8}.first.reload.wrestler2.name == "Test2" assert bracket_r16.select{|m| m.bracket_position_number == 8}.first.reload.wrestler2.name == "Test2"
round2_conso = matches.reload.select{|m| m.bracket_position == "Conso" and m.round == 2}.sort_by{|m| m.bracket_position_number} conso_r16_1 = matches.reload.select{|m| m.bracket_position == "Conso Round of 16.1"}.sort_by{|m| m.bracket_position_number}
assert round2_conso.select{|m| m.bracket_position_number == 1}.first.reload.loser1_name == "BYE" assert conso_r16_1.select{|m| m.bracket_position_number == 1}.first.reload.loser1_name == "BYE"
assert round2_conso.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test16" assert conso_r16_1.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test16"
assert round2_conso.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test24" assert conso_r16_1.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test24"
assert round2_conso.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test8" assert conso_r16_1.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test8"
assert round2_conso.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test28" assert conso_r16_1.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test28"
assert round2_conso.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test21" assert conso_r16_1.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test21"
assert round2_conso.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test13" assert conso_r16_1.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test13"
assert round2_conso.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test29" assert conso_r16_1.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test29"
assert round2_conso.select{|m| m.bracket_position_number == 5}.first.reload.wrestler1.name == "Test30" assert conso_r16_1.select{|m| m.bracket_position_number == 5}.first.reload.wrestler1.name == "Test30"
assert round2_conso.select{|m| m.bracket_position_number == 5}.first.reload.wrestler2.name == "Test19" assert conso_r16_1.select{|m| m.bracket_position_number == 5}.first.reload.wrestler2.name == "Test19"
assert round2_conso.select{|m| m.bracket_position_number == 6}.first.reload.wrestler1.name == "Test22" assert conso_r16_1.select{|m| m.bracket_position_number == 6}.first.reload.wrestler1.name == "Test22"
assert round2_conso.select{|m| m.bracket_position_number == 6}.first.reload.wrestler2.name == "Test27" assert conso_r16_1.select{|m| m.bracket_position_number == 6}.first.reload.wrestler2.name == "Test27"
assert round2_conso.select{|m| m.bracket_position_number == 7}.first.reload.wrestler1.name == "Test26" assert conso_r16_1.select{|m| m.bracket_position_number == 7}.first.reload.wrestler1.name == "Test26"
assert round2_conso.select{|m| m.bracket_position_number == 7}.first.reload.wrestler2.name == "Test23" assert conso_r16_1.select{|m| m.bracket_position_number == 7}.first.reload.wrestler2.name == "Test23"
assert round2_conso.select{|m| m.bracket_position_number == 8}.first.reload.wrestler1.name == "Test15" assert conso_r16_1.select{|m| m.bracket_position_number == 8}.first.reload.wrestler1.name == "Test15"
assert round2_conso.select{|m| m.bracket_position_number == 8}.first.reload.loser2_name == "BYE" assert conso_r16_1.select{|m| m.bracket_position_number == 8}.first.reload.loser2_name == "BYE"
round3_conso = matches.reload.select{|m| m.bracket_position == "Conso" and m.round == 3}.sort_by{|m| m.bracket_position_number} conso_r16_2 = matches.reload.select{|m| m.bracket_position == "Conso Round of 16.2"}.sort_by{|m| m.bracket_position_number}
assert round3_conso.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test18" assert conso_r16_2.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test18"
assert round3_conso.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test16" assert conso_r16_2.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test16"
assert round3_conso.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test7" assert conso_r16_2.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test7"
assert round3_conso.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test8" assert conso_r16_2.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test8"
assert round3_conso.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test6" assert conso_r16_2.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test6"
assert round3_conso.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test21" assert conso_r16_2.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test21"
assert round3_conso.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test14" assert conso_r16_2.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test14"
assert round3_conso.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test29" assert conso_r16_2.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test29"
assert round3_conso.select{|m| m.bracket_position_number == 5}.first.reload.wrestler1.name == "Test20" assert conso_r16_2.select{|m| m.bracket_position_number == 5}.first.reload.wrestler1.name == "Test20"
assert round3_conso.select{|m| m.bracket_position_number == 5}.first.reload.wrestler2.name == "Test19" assert conso_r16_2.select{|m| m.bracket_position_number == 5}.first.reload.wrestler2.name == "Test19"
assert round3_conso.select{|m| m.bracket_position_number == 6}.first.reload.wrestler1.name == "Test12" assert conso_r16_2.select{|m| m.bracket_position_number == 6}.first.reload.wrestler1.name == "Test12"
assert round3_conso.select{|m| m.bracket_position_number == 6}.first.reload.wrestler2.name == "Test22" assert conso_r16_2.select{|m| m.bracket_position_number == 6}.first.reload.wrestler2.name == "Test22"
assert round3_conso.select{|m| m.bracket_position_number == 7}.first.reload.wrestler1.name == "Test9" assert conso_r16_2.select{|m| m.bracket_position_number == 7}.first.reload.wrestler1.name == "Test9"
assert round3_conso.select{|m| m.bracket_position_number == 7}.first.reload.wrestler2.name == "Test23" assert conso_r16_2.select{|m| m.bracket_position_number == 7}.first.reload.wrestler2.name == "Test23"
assert round3_conso.select{|m| m.bracket_position_number == 8}.first.reload.wrestler1.name == "Test17" assert conso_r16_2.select{|m| m.bracket_position_number == 8}.first.reload.wrestler1.name == "Test17"
assert round3_conso.select{|m| m.bracket_position_number == 8}.first.reload.wrestler2.name == "Test15" assert conso_r16_2.select{|m| m.bracket_position_number == 8}.first.reload.wrestler2.name == "Test15"
round4_conso = matches.reload.select{|m| m.bracket_position == "Conso" and m.round == 4}.sort_by{|m| m.bracket_position_number} conso_r8_1 = matches.reload.select{|m| m.bracket_position == "Conso Round of 8.1"}.sort_by{|m| m.bracket_position_number}
assert round4_conso.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test16" assert conso_r8_1.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test16"
assert round4_conso.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test8" assert conso_r8_1.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test8"
assert round4_conso.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test6" assert conso_r8_1.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test6"
assert round4_conso.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test29" assert conso_r8_1.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test29"
assert round4_conso.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test20" assert conso_r8_1.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test20"
assert round4_conso.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test12" assert conso_r8_1.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test12"
assert round4_conso.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test23" assert conso_r8_1.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test23"
assert round4_conso.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test17" assert conso_r8_1.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test17"
quarters = matches.reload.select{|m| m.bracket_position == "Quarter"}.sort_by{|m| m.bracket_position_number} quarters = matches.reload.select{|m| m.bracket_position == "Quarter"}.sort_by{|m| m.bracket_position_number}
assert quarters.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test1" assert quarters.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test1"
@@ -300,15 +300,15 @@ class TournamentBackupImportTest < ActionDispatch::IntegrationTest
assert quarters.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test10" assert quarters.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test10"
assert quarters.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test2" assert quarters.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test2"
round5_conso = matches.reload.select{|m| m.bracket_position == "Conso" and m.round == 5}.sort_by{|m| m.bracket_position_number} conso_r8_2 = matches.reload.select{|m| m.bracket_position == "Conso Round of 8.2"}.sort_by{|m| m.bracket_position_number}
assert round5_conso.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test25" assert conso_r8_2.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test25"
assert round5_conso.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test8" assert conso_r8_2.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test8"
assert round5_conso.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test4" assert conso_r8_2.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test4"
assert round5_conso.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test6" assert conso_r8_2.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test6"
assert round5_conso.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test3" assert conso_r8_2.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test3"
assert round5_conso.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test20" assert conso_r8_2.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test20"
assert round5_conso.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test10" assert conso_r8_2.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test10"
assert round5_conso.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test17" assert conso_r8_2.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test17"
quarters_conso = matches.reload.select{|m| m.bracket_position == "Conso Quarter"}.sort_by{|m| m.bracket_position_number} quarters_conso = matches.reload.select{|m| m.bracket_position == "Conso Quarter"}.sort_by{|m| m.bracket_position_number}
assert quarters_conso.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test8" assert quarters_conso.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test8"