diff --git a/.gitignore b/.gitignore index 2eb82d6..ef25911 100644 --- a/.gitignore +++ b/.gitignore @@ -21,3 +21,4 @@ tmp .rvmrc deploy/prod.env frontend/node_modules +.aider* diff --git a/app/models/match.rb b/app/models/match.rb index 732eca0..8a4f4e9 100644 --- a/app/models/match.rb +++ b/app/models/match.rb @@ -71,13 +71,19 @@ class Match < ApplicationRecord end def bracket_position_validation - if ! BRACKET_POSITIONS.include? bracket_position - errors.add(:bracket_position, "can only be one of the following #{BRACKET_POSITIONS.to_s}") - end + # Allow "Bracket Round of 16", "Bracket Round of 16.1", + # "Conso Round of 8", "Conso Round of 8.2", etc. + 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 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 else return false @@ -85,7 +91,7 @@ class Match < ApplicationRecord end 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 else return false diff --git a/app/models/weight.rb b/app/models/weight.rb index b0195f8..f454068 100644 --- a/app/models/weight.rb +++ b/app/models/weight.rb @@ -164,7 +164,7 @@ class Weight < ApplicationRecord end 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 return bracket_matches_sorted_by_round_descending.first.round else @@ -172,12 +172,30 @@ class Weight < ApplicationRecord 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 - 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 return conso_matches_sorted_by_round_descending.first.round else return nil 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 diff --git a/app/models/wrestler.rb b/app/models/wrestler.rb index 11c0cf2..b1975cd 100644 --- a/app/models/wrestler.rb +++ b/app/models/wrestler.rb @@ -160,19 +160,19 @@ class Wrestler < ApplicationRecord end 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 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 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 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 def finished_matches diff --git a/app/services/bracket_advancement/advance_wrestler.rb b/app/services/bracket_advancement/advance_wrestler.rb index 2c28aa5..caab9fe 100644 --- a/app/services/bracket_advancement/advance_wrestler.rb +++ b/app/services/bracket_advancement/advance_wrestler.rb @@ -17,8 +17,8 @@ class AdvanceWrestler @tournament.clear_errored_deferred_jobs if @last_match && @last_match.finished? 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 - @tournament.tournament_type.include? "Regular Double Elimination" + ModifiedDoubleEliminationAdvance.new(@wrestler, @last_match).bracket_advancement if @tournament.tournament_type.include? "Modified 16 Man Double Elimination" + DoubleEliminationAdvance.new(@wrestler, @last_match).bracket_advancement if @tournament.tournament_type.include? "Regular Double Elimination" end end diff --git a/app/services/bracket_advancement/double_elimination_advance.rb b/app/services/bracket_advancement/double_elimination_advance.rb index bb02229..8065b72 100644 --- a/app/services/bracket_advancement/double_elimination_advance.rb +++ b/app/services/bracket_advancement/double_elimination_advance.rb @@ -21,50 +21,33 @@ class DoubleEliminationAdvance 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" - # if its a regular double elim - if @wrestler.tournament.tournament_type.include? "Regular Double Elimination" - new_match = Match.where("bracket_position = ? AND bracket_position_number = ? AND weight_id = ?","3/4",@next_match_position_number.ceil,@wrestler.weight_id).first - update_new_match(new_match, get_wrestler_number) - # if it's a special bracket where consolations wrestler for 5th - elsif @wrestler.tournament.tournament_type.include? "Modified 16 Man Double Elimination" - 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) - end - elsif @last_match.bracket_position == "Conso Quarter" - next_round_matches = Match.where("weight_id = ? and bracket_position = ?", @wrestler.weight_id, "Conso Semis").sort_by{|m| m.round} - this_round_matches = Match.where("weight_id = ? and round = ? and bracket_position = ?", @wrestler.weight_id, @last_match.round, "Conso Quarter") - # bracket position is different depending on if a semi loser is dropping or if there are 4 conso quarter matches - if next_round_matches.size == this_round_matches.size - # if a semi loser is dropping down - new_match = Match.where("bracket_position = ? AND bracket_position_number = ? AND weight_id = ?","Conso Semis",@last_match.bracket_position_number,@wrestler.weight_id).first - update_new_match(new_match,2) - else - # if 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) - 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 + + future_round_matches = @last_match.weight.matches.select{|m| m.round > @last_match.round} + next_match = nil + next_match_bracket_position = nil + next_match_position_number = @next_match_position_number.ceil + + if @last_match.is_championship_match and future_round_matches.size > 0 + next_match_round = future_round_matches.select{|m| m.is_championship_match}.sort_by{|m| m.round}.first.round + next_match_bracket_position = future_round_matches.select{|m| m.is_championship_match}.sort_by{|m| m.round}.first.bracket_position + end + + if @last_match.is_consolation_match and future_round_matches.size > 0 + next_match_round = future_round_matches.select{|m| m.is_consolation_match}.sort_by{|m| m.round}.first.round + next_match_bracket_position = future_round_matches.select{|m| m.is_consolation_match}.sort_by{|m| m.round}.first.bracket_position + next_match_loser1_name = future_round_matches.select{|m| m.is_consolation_match}.sort_by{|m| m.round}.first.loser1_name + # If someone is falling down to them in this round, then their bracket_position_number stays the same + if next_match_loser1_name + next_match_position_number = @last_match.bracket_position_number + end + end + + if next_match_bracket_position + 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 + end + + if next_match + update_new_match(next_match, get_wrestler_number) end end diff --git a/app/services/bracket_advancement/modified_double_elimination_advance.rb b/app/services/bracket_advancement/modified_double_elimination_advance.rb new file mode 100644 index 0000000..5e0001e --- /dev/null +++ b/app/services/bracket_advancement/modified_double_elimination_advance.rb @@ -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 + \ No newline at end of file diff --git a/app/services/tournament_services/double_elimination_generate_loser_names.rb b/app/services/tournament_services/double_elimination_generate_loser_names.rb index c0b3dd8..8429570 100644 --- a/app/services/tournament_services/double_elimination_generate_loser_names.rb +++ b/app/services/tournament_services/double_elimination_generate_loser_names.rb @@ -15,26 +15,25 @@ class DoubleEliminationGenerateLoserNames case bracket_size 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_round: @tournament.total_rounds, conso_bracket_position: "3/4", championship_round: 1, championship_bracket_position: "Semis", cross_bracket: false, both_wrestlers: true } + { conso_bracket_position: "3/4", championship_bracket_position: "Semis", cross_bracket: false, both_wrestlers: true } ] when 8 [ - { conso_round: 2, conso_bracket_position: "Conso Quarter", championship_round: 1, 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 Quarter", championship_bracket_position: "Quarter", cross_bracket: false, both_wrestlers: true }, + { conso_bracket_position: "Conso Semis", championship_bracket_position: "Semis", cross_bracket: true, both_wrestlers: false } ] when 16 [ - { conso_round: 2, conso_bracket_position: "Conso", championship_round: 1, championship_bracket_position: "Bracket", 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_round: 5, conso_bracket_position: "Conso Semis", championship_round: 4, championship_bracket_position: "Semis", cross_bracket: false, both_wrestlers: false } + { conso_bracket_position: "Conso Round of 8.1", championship_bracket_position: "Bracket Round of 16", cross_bracket: false, both_wrestlers: true }, + { conso_bracket_position: "Conso Round of 8.2", championship_bracket_position: "Quarter", cross_bracket: true, both_wrestlers: false }, + { conso_bracket_position: "Conso Semis", championship_bracket_position: "Semis", cross_bracket: false, both_wrestlers: false } ] when 32 [ - { conso_round: 2, conso_bracket_position: "Conso", championship_round: 1, championship_bracket_position: "Bracket", 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_round: 5, conso_bracket_position: "Conso", championship_round: 4, 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 Round of 16.1", championship_bracket_position: "Bracket Round of 32", cross_bracket: false, both_wrestlers: true }, + { conso_bracket_position: "Conso Round of 16.2", championship_bracket_position: "Bracket Round of 16", cross_bracket: true, both_wrestlers: false }, + { conso_bracket_position: "Conso Round of 8.2", championship_bracket_position: "Quarter", cross_bracket: false, both_wrestlers: false }, + { conso_bracket_position: "Conso Semis", championship_bracket_position: "Semis", cross_bracket: true, both_wrestlers: false }, ] else @@ -50,19 +49,17 @@ class DoubleEliminationGenerateLoserNames loser_name_championship_mappings = define_losername_championship_mappings(bracket_size) loser_name_championship_mappings.each do |mapping| - conso_round = mapping[:conso_round] conso_bracket_position = mapping[:conso_bracket_position] - championship_round = mapping[:championship_round] championship_bracket_position = mapping[:championship_bracket_position] cross_bracket = mapping[:cross_bracket] both_wrestlers = mapping[:both_wrestlers] 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) 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) conso_matches.reverse! if cross_bracket @@ -112,8 +109,9 @@ class DoubleEliminationGenerateLoserNames end def advance_bye_matches_championship(matches) + first_round = matches.sort_by{|m| m.round}.first.round 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| next unless match.w1.nil? || match.w2.nil? diff --git a/app/services/tournament_services/double_elimination_match_generation.rb b/app/services/tournament_services/double_elimination_match_generation.rb index f833540..044bafe 100644 --- a/app/services/tournament_services/double_elimination_match_generation.rb +++ b/app/services/tournament_services/double_elimination_match_generation.rb @@ -4,68 +4,202 @@ class DoubleEliminationMatchGeneration end def generate_matches + # + # PHASE 1: Generate matches (with local round definitions). + # @tournament.weights.each do |weight| generate_matches_for_weight(weight) end + + # + # PHASE 2: Align all rounds to match the largest bracket’s definitions. + # + align_all_rounds_to_largest_bracket 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) - # Use detailed hashes for rounds, number of matches, and bracket positions case bracket_size when 4 { 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: [ - { 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: [ - { 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 { round_one_matchups: [ - { seeds: [1, 8], bracket_position: "Quarter" }, { seeds: [4, 5], bracket_position: "Quarter" }, - { seeds: [3, 6], bracket_position: "Quarter" }, { seeds: [2, 7], bracket_position: "Quarter" } + # Quarter => round=1 + { 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: [ - { 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: [ - { 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 { 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: [3, 14], bracket_position: "Bracket" }, { seeds: [6, 11], bracket_position: "Bracket" },{ seeds: [7, 10], bracket_position: "Bracket" }, { seeds: [2, 15], bracket_position: "Bracket" } + { seeds: [1,16], bracket_position: "Bracket Round of 16", round: 1 }, + { 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: [ - { 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: [ - { 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" }, - { round: 5, number_of_matches: 2, bracket_position: "Conso Semis" }, { round: 6, number_of_matches: 1, bracket_position: "3/4" } + # Just carry over your standard numbering + { 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 { 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: [5, 28], bracket_position: "Bracket" }, { seeds: [12, 21], bracket_position: "Bracket" }, { seeds: [13, 20], bracket_position: "Bracket" }, { seeds: [4, 29], bracket_position: "Bracket" }, - { 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: [7, 26], bracket_position: "Bracket" }, { seeds: [10, 23], bracket_position: "Bracket" }, { seeds: [15, 18], bracket_position: "Bracket" }, { seeds: [2, 31], bracket_position: "Bracket" } + { seeds: [1,32], bracket_position: "Bracket Round of 32", round: 1 }, + { seeds: [16,17], bracket_position: "Bracket Round of 32", round: 1 }, + { seeds: [9,24], bracket_position: "Bracket Round of 32", round: 1 }, + { 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: [ - { round: 2, number_of_matches: 8, bracket_position: "Bracket" }, { round: 4, number_of_matches: 4, bracket_position: "Quarter" }, - { round: 6, number_of_matches: 2, bracket_position: "Semis" }, { round: 8, number_of_matches: 1, bracket_position: "1/2" } + { bracket_position: "Bracket Round of 16", number_of_matches: 8, round: 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: [ - { 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" }, - { 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.1", number_of_matches: 8, round: 2 }, + { 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 @@ -73,56 +207,48 @@ class DoubleEliminationMatchGeneration end end - def generate_matches_for_weight(weight) - number_of_placers = @tournament.number_of_placers - bracket_size = weight.calculate_bracket_size - bracket_matches = define_bracket_matches(bracket_size) - - # Generate round 1 matches - bracket_matches[:round_one_matchups].each_with_index do |matchup, index| - seed_1 = matchup[:seeds][0] - seed_2 = matchup[:seeds][1] - bracket_position = matchup[:bracket_position] - round = 1 - bracket_position_number = index + 1 - - create_matchup_from_seed(seed_1, seed_2, bracket_position, bracket_position_number, round, weight) + ########################################################################### + # PHASE 2: Overwrite rounds in all smaller brackets to match the largest one. + ########################################################################### + def align_all_rounds_to_largest_bracket + # + # 1) Find the bracket size that is largest + # + largest_weight = @tournament.weights.max_by { |w| w.calculate_bracket_size } + return unless largest_weight + + # + # 2) Gather all matches for that bracket. Build a map from bracket_position => round + # + # 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 - - # Generate remaining championship rounds - bracket_matches[:championship_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 - 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 + + # + # 3) For every other match in the entire tournament (including possibly the largest bracket, if you want), + # overwrite the round to match this map. + # + @tournament.matches.find_each do |match| + # If there's a known round for this bracket_position, use it + if position_to_round.key?(match.bracket_position) + match.update(round: position_to_round[match.bracket_position]) end end end + ########################################################################### + # Helper methods + ########################################################################### def wrestler_with_seed(seed, weight) - wrestler = Wrestler.where("weight_id = ? and bracket_line = ?", weight.id, seed).first - wrestler&.id + Wrestler.where("weight_id = ? AND bracket_line = ?", weight.id, seed).first&.id end def create_matchup_from_seed(w1_seed, w2_seed, bracket_position, bracket_position_number, round, weight) @@ -137,7 +263,7 @@ class DoubleEliminationMatchGeneration end def create_matchup(w1, w2, bracket_position, bracket_position_number, round, weight) - weight.tournament.matches.create( + weight.tournament.matches.create!( w1: w1, w2: w2, weight_id: weight.id, @@ -146,26 +272,4 @@ class DoubleEliminationMatchGeneration bracket_position_number: bracket_position_number ) 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 - \ No newline at end of file diff --git a/app/services/tournament_services/generate_tournament_matches.rb b/app/services/tournament_services/generate_tournament_matches.rb index a8c6059..85b17c8 100644 --- a/app/services/tournament_services/generate_tournament_matches.rb +++ b/app/services/tournament_services/generate_tournament_matches.rb @@ -30,7 +30,7 @@ class GenerateTournamentMatches end def postMatchCreationActions - moveFinalsMatchesToLastRound + moveFinalsMatchesToLastRound if ! @tournament.tournament_type.include? "Regular Double Elimination" assignBouts @tournament.reset_and_fill_bout_board @tournament.curently_generating_matches = nil diff --git a/app/services/tournament_services/modified_sixteen_man_generate_loser_names.rb b/app/services/tournament_services/modified_sixteen_man_generate_loser_names.rb index c72cfa6..4df4557 100644 --- a/app/services/tournament_services/modified_sixteen_man_generate_loser_names.rb +++ b/app/services/tournament_services/modified_sixteen_man_generate_loser_names.rb @@ -19,25 +19,25 @@ class ModifiedSixteenManGenerateLoserNames end 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 - 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.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.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.bracket_position == "Bracket Round of 16"}.first.bout_number}" 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.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.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.bracket_position == "Bracket Round of 16"}.first.bout_number}" 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.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.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.bracket_position == "Bracket Round of 16"}.first.bout_number}" 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.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.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.bracket_position == "Bracket Round of 16"}.first.bout_number}" end end end 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 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 @@ -65,7 +65,7 @@ class ModifiedSixteenManGenerateLoserNames end 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 match.finished = 1 match.win_type = "BYE" diff --git a/app/services/tournament_services/modified_sixteen_man_match_generation.rb b/app/services/tournament_services/modified_sixteen_man_match_generation.rb index 6178ba4..6571269 100644 --- a/app/services/tournament_services/modified_sixteen_man_match_generation.rb +++ b/app/services/tournament_services/modified_sixteen_man_match_generation.rb @@ -19,14 +19,14 @@ class ModifiedSixteenManMatchGeneration end def round_one(weight) - create_matchup_from_seed(1,16, "Bracket", 1, 1,weight) - create_matchup_from_seed(8,9, "Bracket", 2, 1,weight) - create_matchup_from_seed(5,12, "Bracket", 3, 1,weight) - create_matchup_from_seed(4,14, "Bracket", 4, 1,weight) - create_matchup_from_seed(3,13, "Bracket", 5, 1,weight) - create_matchup_from_seed(6,11, "Bracket", 6, 1,weight) - create_matchup_from_seed(7,10, "Bracket", 7, 1,weight) - create_matchup_from_seed(2,15, "Bracket", 8, 1,weight) + create_matchup_from_seed(1,16, "Bracket Round of 16", 1, 1,weight) + create_matchup_from_seed(8,9, "Bracket Round of 16", 2, 1,weight) + create_matchup_from_seed(5,12, "Bracket Round of 16", 3, 1,weight) + create_matchup_from_seed(4,14, "Bracket Round of 16", 4, 1,weight) + create_matchup_from_seed(3,13, "Bracket Round of 16", 5, 1,weight) + create_matchup_from_seed(6,11, "Bracket Round of 16", 6, 1,weight) + create_matchup_from_seed(7,10, "Bracket Round of 16", 7, 1,weight) + create_matchup_from_seed(2,15, "Bracket Round of 16", 8, 1,weight) end def round_two(weight) @@ -34,10 +34,10 @@ class ModifiedSixteenManMatchGeneration create_matchup(nil,nil,"Quarter",2,2,weight) create_matchup(nil,nil,"Quarter",3,2,weight) create_matchup(nil,nil,"Quarter",4,2,weight) - create_matchup(nil,nil,"Conso",1,2,weight) - create_matchup(nil,nil,"Conso",2,2,weight) - create_matchup(nil,nil,"Conso",3,2,weight) - create_matchup(nil,nil,"Conso",4,2,weight) + create_matchup(nil,nil,"Conso Round of 8",1,2,weight) + create_matchup(nil,nil,"Conso Round of 8",2,2,weight) + create_matchup(nil,nil,"Conso Round of 8",3,2,weight) + create_matchup(nil,nil,"Conso Round of 8",4,2,weight) end def round_three(weight) diff --git a/app/views/tournaments/_double_elimination_bracket.html.erb b/app/views/tournaments/_double_elimination_bracket.html.erb index c5b9bc8..f7e8af1 100644 --- a/app/views/tournaments/_double_elimination_bracket.html.erb +++ b/app/views/tournaments/_double_elimination_bracket.html.erb @@ -4,8 +4,8 @@

Championship Bracket

<% if @weight.highest_bracket_round %> - <% (1..@weight.highest_bracket_round).each do |round| %> - <% @round_matches = @matches.select{|m|m.bracket_position == "Bracket" and m.round == round} %> + <% (@weight.lowest_bracket_round..@weight.highest_bracket_round).each do |round| %> + <% @round_matches = @matches.select{|m|m.bracket_position.include? "Bracket" and m.round == round} %> <%= render 'bracket_round' %> <% end %> <% end %> @@ -30,15 +30,11 @@

Consolation Bracket

<% if @weight.highest_conso_round %> - <% (1..@weight.highest_conso_round).each do |round| %> - <% @round_matches = @matches.select{|m|m.bracket_position == "Conso" and m.round == round} %> + <% (@weight.lowest_conso_round..@weight.highest_conso_round).each do |round| %> + <% @round_matches = @matches.select{|m|m.bracket_position.include? "Conso" and m.round == round} %> <%= render 'bracket_round' %> <% 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"} %> <% @winner_place = "3rd" %> <%= render 'bracket_final' %> diff --git a/app/views/tournaments/_modified_sixteen_man_double_elimination_bracket.html.erb b/app/views/tournaments/_modified_sixteen_man_double_elimination_bracket.html.erb index 8622af1..d413356 100644 --- a/app/views/tournaments/_modified_sixteen_man_double_elimination_bracket.html.erb +++ b/app/views/tournaments/_modified_sixteen_man_double_elimination_bracket.html.erb @@ -1,7 +1,7 @@

Championship Bracket

- <% @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' %> <% @round_matches = @matches.select{|m|m.bracket_position == "Quarter"} %> @@ -24,7 +24,7 @@

Consolation Bracket

- <% @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' %> <% @round_matches = @matches.select{|m|m.bracket_position == "Conso Quarter"} %> diff --git a/lib/tasks/migrate_bracket_position.rake b/lib/tasks/migrate_bracket_position.rake new file mode 100644 index 0000000..5af598a --- /dev/null +++ b/lib/tasks/migrate_bracket_position.rake @@ -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 diff --git a/test/integration/double_elimination_32_man_1_8_match_generation_test.rb b/test/integration/double_elimination_32_man_1_8_match_generation_test.rb index 4a2f624..e1fa568 100644 --- a/test/integration/double_elimination_32_man_1_8_match_generation_test.rb +++ b/test/integration/double_elimination_32_man_1_8_match_generation_test.rb @@ -7,12 +7,12 @@ class DoubleEliminationThirtyTwoManEightPlacesMatchGeneration < ActionDispatch:: test "Match generation works" do 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" and m.round == 2}.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" and m.round == 3}.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" and m.round == 5}.count == 4 + assert @tournament.matches.select{|m| m.bracket_position == "Bracket Round of 32"}.count == 16 + assert @tournament.matches.select{|m| m.bracket_position == "Bracket Round of 16"}.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 Round of 16.2"}.count == 8 + assert @tournament.matches.select{|m| m.bracket_position == "Conso Round of 8.1"}.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 == "3/4"}.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 @tournament.matches.reload - match1 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 1}.first - match2 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 2}.first - match3 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 3}.first - match4 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 4}.first - match5 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 5}.first - match6 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 6}.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 - match9 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 9}.first - match10 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 10}.first - match11 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 11}.first - match12 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 12}.first - match13 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 13}.first - match14 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 14}.first - match15 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 15}.first - match16 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 16}.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.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 2}.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.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 4}.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.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 6}.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.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 8}.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.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 10}.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.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 12}.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.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 14}.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.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 16}.first assert match1.wrestler1.bracket_line == 1 assert match1.loser2_name == "BYE" @@ -93,8 +93,8 @@ class DoubleEliminationThirtyTwoManEightPlacesMatchGeneration < ActionDispatch:: test "Byes are advanced correctly" do @tournament.matches.reload - match1 = @tournament.matches.select{|match| match.round == 2 and match.bracket_position == "Bracket" 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 + 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.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 8}.first assert match1.wrestler1.name == "Test1" assert match2.wrestler2.name == "Test2" @@ -102,74 +102,74 @@ class DoubleEliminationThirtyTwoManEightPlacesMatchGeneration < ActionDispatch:: test "Loser names set up correctly" do @tournament.matches.reload - match1 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 1}.first - match2 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 2}.first - match3 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 3}.first - match4 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 4}.first - match5 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 5}.first - match6 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 6}.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 - match9 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 9}.first - match10 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 10}.first - match11 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 11}.first - match12 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 12}.first - match13 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 13}.first - match14 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 14}.first - match15 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 15}.first - match16 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 16}.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.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 2}.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.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 4}.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.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 6}.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.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 8}.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.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 10}.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.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 12}.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.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 14}.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.bracket_position == "Bracket Round of 32" and match.bracket_position_number == 16}.first - # Conso round 2 - 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" 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" 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" 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" 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" 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" 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" 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" 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" 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" 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" 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" 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" 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" 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" and m.round == 2 && m.bracket_position_number == 8}.first.loser2_name == "BYE" + # Conso round of 16.1 + 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 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 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 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 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 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 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 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 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 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 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 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 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 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 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 Round of 16.1" && m.bracket_position_number == 8}.first.loser2_name == "BYE" - # Conso round 3 - round2_match1 = @tournament.matches.select{|match| match.round == 2 and match.bracket_position == "Bracket" 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 - round2_match3 = @tournament.matches.select{|match| match.round == 2 and match.bracket_position == "Bracket" 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 - round2_match5 = @tournament.matches.select{|match| match.round == 2 and match.bracket_position == "Bracket" 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 - round2_match7 = @tournament.matches.select{|match| match.round == 2 and match.bracket_position == "Bracket" 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 - 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" 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" 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" 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" 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" 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" 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" and m.round == 3 && m.bracket_position_number == 8}.first.loser1_name == "Loser of #{round2_match1.bout_number}" + # Conso round of 16.2 cross bracketed + bracket_r16_match1 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 1}.first + bracket_r16_match2 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 2}.first + bracket_r16_match3 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 3}.first + bracket_r16_match4 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 4}.first + bracket_r16_match5 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 5}.first + bracket_r16_match6 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 6}.first + bracket_r16_match7 = @tournament.matches.select{|match| match.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 7}.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 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 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 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 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 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 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 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 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 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 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 - consoround2match2 = @tournament.matches.select{|match| match.bracket_position == "Conso" and match.round == 5 && 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 - consoround2match4 = @tournament.matches.select{|match| match.bracket_position == "Conso" and match.round == 5 && match.bracket_position_number == 4}.first - assert consoround2match1.loser1_name == "Loser of #{quarter1.bout_number}" - assert consoround2match2.loser1_name == "Loser of #{quarter2.bout_number}" - assert consoround2match3.loser1_name == "Loser of #{quarter3.bout_number}" - assert consoround2match4.loser1_name == "Loser of #{quarter4.bout_number}" + conso_r8_2_match1 = @tournament.matches.select{|match| match.bracket_position == "Conso Round of 8.2" && match.bracket_position_number == 1}.first + conso_r8_2_match2 = @tournament.matches.select{|match| match.bracket_position == "Conso Round of 8.2" && match.bracket_position_number == 2}.first + conso_r8_2_match3 = @tournament.matches.select{|match| match.bracket_position == "Conso Round of 8.2" && match.bracket_position_number == 3}.first + conso_r8_2_match4 = @tournament.matches.select{|match| match.bracket_position == "Conso Round of 8.2" && match.bracket_position_number == 4}.first + assert conso_r8_2_match1.loser1_name == "Loser of #{quarter1.bout_number}" + assert conso_r8_2_match2.loser1_name == "Loser of #{quarter2.bout_number}" + assert conso_r8_2_match3.loser1_name == "Loser of #{quarter3.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 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 diff --git a/test/integration/double_elimination_32_man_1_8_run_through_test.rb b/test/integration/double_elimination_32_man_1_8_run_through_test.rb index f398ef7..a486b8a 100644 --- a/test/integration/double_elimination_32_man_1_8_run_through_test.rb +++ b/test/integration/double_elimination_32_man_1_8_run_through_test.rb @@ -17,111 +17,111 @@ class DoubleEliminationThirtyTwoManEightPlacesRunThrough < ActionDispatch::Integ create_double_elim_tournament_single_weight(30, "Regular Double Elimination 1-8") matches = @tournament.matches.reload - round1 = matches.select{|m| m.round == 1} - winner_by_name("Test17", round1.select{|m| m.bracket_position_number == 2}.first) - winner_by_name("Test9", round1.select{|m| m.bracket_position_number == 3}.first) - winner_by_name("Test25", round1.select{|m| m.bracket_position_number == 4}.first) - winner_by_name("Test5", round1.select{|m| m.bracket_position_number == 5}.first) - winner_by_name("Test12", round1.select{|m| m.bracket_position_number == 6}.first) - winner_by_name("Test20", round1.select{|m| m.bracket_position_number == 7}.first) - winner_by_name("Test4", round1.select{|m| m.bracket_position_number == 8}.first) - winner_by_name("Test3", round1.select{|m| m.bracket_position_number == 9}.first) - winner_by_name("Test14", round1.select{|m| m.bracket_position_number == 10}.first) - winner_by_name("Test11", round1.select{|m| m.bracket_position_number == 11}.first) - winner_by_name("Test6", round1.select{|m| m.bracket_position_number == 12}.first) - winner_by_name("Test7", round1.select{|m| m.bracket_position_number == 13}.first) - winner_by_name("Test10", round1.select{|m| m.bracket_position_number == 14}.first) - winner_by_name("Test18", round1.select{|m| m.bracket_position_number == 15}.first) + bracket_r32 = matches.select{|m| m.bracket_position == "Bracket Round of 32"} + winner_by_name("Test17", bracket_r32.select{|m| m.bracket_position_number == 2}.first) + winner_by_name("Test9", bracket_r32.select{|m| m.bracket_position_number == 3}.first) + winner_by_name("Test25", bracket_r32.select{|m| m.bracket_position_number == 4}.first) + winner_by_name("Test5", bracket_r32.select{|m| m.bracket_position_number == 5}.first) + winner_by_name("Test12", bracket_r32.select{|m| m.bracket_position_number == 6}.first) + winner_by_name("Test20", bracket_r32.select{|m| m.bracket_position_number == 7}.first) + winner_by_name("Test4", bracket_r32.select{|m| m.bracket_position_number == 8}.first) + winner_by_name("Test3", bracket_r32.select{|m| m.bracket_position_number == 9}.first) + winner_by_name("Test14", bracket_r32.select{|m| m.bracket_position_number == 10}.first) + winner_by_name("Test11", bracket_r32.select{|m| m.bracket_position_number == 11}.first) + winner_by_name("Test6", bracket_r32.select{|m| m.bracket_position_number == 12}.first) + winner_by_name("Test7", bracket_r32.select{|m| m.bracket_position_number == 13}.first) + winner_by_name("Test10", bracket_r32.select{|m| m.bracket_position_number == 14}.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} - assert round2_championship.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 round2_championship.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 round2_championship.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 round2_championship.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 round2_championship.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 round2_championship.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 round2_championship.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 round2_championship.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" - winner_by_name("Test1", round2_championship.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("Test5", round2_championship.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("Test3", round2_championship.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("Test10", round2_championship.select{|m| m.bracket_position_number == 7}.first) - winner_by_name("Test2", round2_championship.select{|m| m.bracket_position_number == 8}.first) + bracket_r16 = matches.reload.select{|m| m.bracket_position == "Bracket Round of 16"}.sort_by{|m| m.bracket_position_number} + assert bracket_r16.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test1" + assert bracket_r16.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test17" + assert bracket_r16.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test9" + assert bracket_r16.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test25" + assert bracket_r16.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test5" + assert bracket_r16.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test12" + assert bracket_r16.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test20" + assert bracket_r16.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test4" + assert bracket_r16.select{|m| m.bracket_position_number == 5}.first.reload.wrestler1.name == "Test3" + assert bracket_r16.select{|m| m.bracket_position_number == 5}.first.reload.wrestler2.name == "Test14" + assert bracket_r16.select{|m| m.bracket_position_number == 6}.first.reload.wrestler1.name == "Test11" + assert bracket_r16.select{|m| m.bracket_position_number == 6}.first.reload.wrestler2.name == "Test6" + assert bracket_r16.select{|m| m.bracket_position_number == 7}.first.reload.wrestler1.name == "Test7" + assert bracket_r16.select{|m| m.bracket_position_number == 7}.first.reload.wrestler2.name == "Test10" + assert bracket_r16.select{|m| m.bracket_position_number == 8}.first.reload.wrestler1.name == "Test18" + assert bracket_r16.select{|m| m.bracket_position_number == 8}.first.reload.wrestler2.name == "Test2" + winner_by_name("Test1", bracket_r16.select{|m| m.bracket_position_number == 1}.first) + winner_by_name("Test25", bracket_r16.select{|m| m.bracket_position_number == 2}.first) + winner_by_name("Test5", bracket_r16.select{|m| m.bracket_position_number == 3}.first) + winner_by_name("Test4", bracket_r16.select{|m| m.bracket_position_number == 4}.first) + winner_by_name("Test3", bracket_r16.select{|m| m.bracket_position_number == 5}.first) + winner_by_name("Test11", bracket_r16.select{|m| m.bracket_position_number == 6}.first) + winner_by_name("Test10", bracket_r16.select{|m| m.bracket_position_number == 7}.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} - assert round2_conso.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 round2_conso.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 round2_conso.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 round2_conso.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 round2_conso.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 round2_conso.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 round2_conso.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 round2_conso.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" - winner_by_name("Test8", round2_conso.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("Test29", round2_conso.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("Test22", round2_conso.select{|m| m.bracket_position_number == 6}.first) - winner_by_name("Test23", round2_conso.select{|m| m.bracket_position_number == 7}.first) + conso_r16_1 = matches.reload.select{|m| m.bracket_position == "Conso Round of 16.1"}.sort_by{|m| m.bracket_position_number} + assert conso_r16_1.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.wrestler2.name == "Test16" + assert conso_r16_1.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.wrestler2.name == "Test8" + assert conso_r16_1.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.wrestler2.name == "Test21" + assert conso_r16_1.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.wrestler2.name == "Test29" + assert conso_r16_1.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.wrestler2.name == "Test19" + assert conso_r16_1.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.wrestler2.name == "Test27" + assert conso_r16_1.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.wrestler2.name == "Test23" + assert conso_r16_1.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.loser2_name == "BYE" + winner_by_name("Test8", conso_r16_1.select{|m| m.bracket_position_number == 2}.first) + winner_by_name("Test21", conso_r16_1.select{|m| m.bracket_position_number == 3}.first) + winner_by_name("Test29", conso_r16_1.select{|m| m.bracket_position_number == 4}.first) + winner_by_name("Test19", conso_r16_1.select{|m| m.bracket_position_number == 5}.first) + winner_by_name("Test22", conso_r16_1.select{|m| m.bracket_position_number == 6}.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} - assert round3_conso.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 round3_conso.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 round3_conso.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 round3_conso.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 round3_conso.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 round3_conso.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 round3_conso.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 round3_conso.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" - winner_by_name("Test16", round3_conso.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("Test6", round3_conso.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("Test20", round3_conso.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("Test23", round3_conso.select{|m| m.bracket_position_number == 7}.first) - winner_by_name("Test17", round3_conso.select{|m| m.bracket_position_number == 8}.first) + conso_r16_2 = matches.reload.select{|m| m.bracket_position == "Conso Round of 16.2"}.sort_by{|m| m.bracket_position_number} + assert conso_r16_2.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.wrestler2.name == "Test16" + assert conso_r16_2.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.wrestler2.name == "Test8" + assert conso_r16_2.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.wrestler2.name == "Test21" + assert conso_r16_2.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.wrestler2.name == "Test29" + assert conso_r16_2.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.wrestler2.name == "Test19" + assert conso_r16_2.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.wrestler2.name == "Test22" + assert conso_r16_2.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.wrestler2.name == "Test23" + assert conso_r16_2.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.wrestler2.name == "Test15" + winner_by_name("Test16", conso_r16_2.select{|m| m.bracket_position_number == 1}.first) + winner_by_name("Test8", conso_r16_2.select{|m| m.bracket_position_number == 2}.first) + winner_by_name("Test6", conso_r16_2.select{|m| m.bracket_position_number == 3}.first) + winner_by_name("Test29", conso_r16_2.select{|m| m.bracket_position_number == 4}.first) + winner_by_name("Test20", conso_r16_2.select{|m| m.bracket_position_number == 5}.first) + winner_by_name("Test12", conso_r16_2.select{|m| m.bracket_position_number == 6}.first) + winner_by_name("Test23", conso_r16_2.select{|m| m.bracket_position_number == 7}.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} - assert round4_conso.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 round4_conso.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 round4_conso.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 round4_conso.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" - winner_by_name("Test8", round4_conso.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("Test20", round4_conso.select{|m| m.bracket_position_number == 3}.first) - winner_by_name("Test17", round4_conso.select{|m| m.bracket_position_number == 4}.first) + conso_r8_1 = matches.reload.select{|m| m.bracket_position == "Conso Round of 8.1"}.sort_by{|m| m.bracket_position_number} + assert conso_r8_1.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.wrestler2.name == "Test8" + assert conso_r8_1.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.wrestler2.name == "Test29" + assert conso_r8_1.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.wrestler2.name == "Test12" + assert conso_r8_1.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.wrestler2.name == "Test17" + winner_by_name("Test8", conso_r8_1.select{|m| m.bracket_position_number == 1}.first) + winner_by_name("Test6", conso_r8_1.select{|m| m.bracket_position_number == 2}.first) + winner_by_name("Test20", conso_r8_1.select{|m| m.bracket_position_number == 3}.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} 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("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} - assert round5_conso.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 round5_conso.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 round5_conso.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 round5_conso.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" - winner_by_name("Test8", round5_conso.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("Test3", round5_conso.select{|m| m.bracket_position_number == 3}.first) - winner_by_name("Test10", round5_conso.select{|m| m.bracket_position_number == 4}.first) + conso_r8_2 = matches.reload.select{|m| m.bracket_position == "Conso Round of 8.2"}.sort_by{|m| m.bracket_position_number} + assert conso_r8_2.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.wrestler2.name == "Test8" + assert conso_r8_2.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.wrestler2.name == "Test6" + assert conso_r8_2.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.wrestler2.name == "Test20" + assert conso_r8_2.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.wrestler2.name == "Test17" + winner_by_name("Test8", conso_r8_2.select{|m| m.bracket_position_number == 1}.first) + winner_by_name("Test6", conso_r8_2.select{|m| m.bracket_position_number == 2}.first) + winner_by_name("Test3", conso_r8_2.select{|m| m.bracket_position_number == 3}.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} assert quarters_conso.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test8" diff --git a/test/integration/double_elimination_sixteen_man_1_6_match_generation_test.rb b/test/integration/double_elimination_sixteen_man_1_6_match_generation_test.rb index 4390948..7db6a8b 100644 --- a/test/integration/double_elimination_sixteen_man_1_6_match_generation_test.rb +++ b/test/integration/double_elimination_sixteen_man_1_6_match_generation_test.rb @@ -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 == "3/4"}.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 == "Conso" and m.round == 2}.count == 4 + assert @tournament.matches.select{|m| m.bracket_position == "Bracket Round of 16"}.count == 8 + 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 == "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 Semis"}.count == 2 end test "Seeded wrestlers have correct first line" do @tournament.matches.reload - match1 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 1}.first - match2 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 2}.first - match3 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 3}.first - match4 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 4}.first - match5 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 5}.first - match6 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 6}.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 + 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.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 2}.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.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 4}.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.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 6}.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.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 8}.first assert match1.wrestler1.bracket_line == 1 assert match1.loser2_name == "BYE" @@ -66,37 +66,37 @@ class DoubleEliminationSixteenManSixPlacesMatchGeneration < ActionDispatch::Inte test "Loser names set up correctly" do @tournament.matches.reload - match1 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 1}.first - match2 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 2}.first - match3 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 3}.first - match4 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 4}.first - match5 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 5}.first - match6 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 6}.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 + 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.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 2}.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.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 4}.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.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 6}.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.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" 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" 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" 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" 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" 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" 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" 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 == 1}.first.loser1_name == "BYE" + 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 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 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 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 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 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 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 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 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 - consoround2match2 = @tournament.matches.select{|match| match.bracket_position == "Conso" and match.round == 3 && 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 - consoround2match4 = @tournament.matches.select{|match| match.bracket_position == "Conso" and match.round == 3 && match.bracket_position_number == 4}.first + conso_r8_2_match1 = @tournament.matches.select{|match| match.bracket_position == "Conso Round of 8.2" && match.bracket_position_number == 1}.first + conso_r8_2_match2 = @tournament.matches.select{|match| match.bracket_position == "Conso Round of 8.2" && match.bracket_position_number == 2}.first + conso_r8_2_match3 = @tournament.matches.select{|match| match.bracket_position == "Conso Round of 8.2" && match.bracket_position_number == 3}.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 consoround2match2.loser1_name == "Loser of #{quarter3.bout_number}" - assert consoround2match3.loser1_name == "Loser of #{quarter2.bout_number}" - assert consoround2match4.loser1_name == "Loser of #{quarter1.bout_number}" + assert conso_r8_2_match1.loser1_name == "Loser of #{quarter4.bout_number}" + assert conso_r8_2_match2.loser1_name == "Loser of #{quarter3.bout_number}" + assert conso_r8_2_match3.loser1_name == "Loser of #{quarter2.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 semis2 = @tournament.matches.select{|match| match.bracket_position == "Semis" and match.bracket_position_number == 2}.first diff --git a/test/integration/double_elimination_sixteen_man_1_6_run_through_test.rb b/test/integration/double_elimination_sixteen_man_1_6_run_through_test.rb index 8797758..7b6eae9 100644 --- a/test/integration/double_elimination_sixteen_man_1_6_run_through_test.rb +++ b/test/integration/double_elimination_sixteen_man_1_6_run_through_test.rb @@ -17,13 +17,13 @@ class DoubleEliminationSixteenManSixPlacesRunThrough < ActionDispatch::Integrati create_double_elim_tournament_single_weight_1_6(14) matches = @tournament.matches.reload - round1 = matches.select{|m| m.round == 1} - 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("Test4", round1.select{|m| m.bracket_position_number == 4}.first) - winner_by_name("Test14", round1.select{|m| m.bracket_position_number == 5}.first) - winner_by_name("Test6", round1.select{|m| m.bracket_position_number == 6}.first) - winner_by_name("Test10", round1.select{|m| m.bracket_position_number == 7}.first) + round_of_16 = matches.select{|m| m.bracket_position == "Bracket Round of 16"} + winner_by_name("Test9", round_of_16.select{|m| m.bracket_position_number == 2}.first) + winner_by_name("Test5", round_of_16.select{|m| m.bracket_position_number == 3}.first) + winner_by_name("Test4", round_of_16.select{|m| m.bracket_position_number == 4}.first) + winner_by_name("Test14", round_of_16.select{|m| m.bracket_position_number == 5}.first) + winner_by_name("Test6", round_of_16.select{|m| m.bracket_position_number == 6}.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} 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.wrestler2.name == "Test2" - conso_round2 = matches.select{|m| m.bracket_position == "Conso" and m.round == 2}.sort_by{|m| m.bracket_position_number} - assert conso_round2.first.reload.wrestler2.name == "Test8" - assert conso_round2.second.reload.wrestler1.name == "Test12" - assert conso_round2.second.reload.wrestler2.name == "Test13" - assert conso_round2.third.reload.wrestler1.name == "Test3" - assert conso_round2.third.reload.wrestler2.name == "Test11" - assert conso_round2.fourth.reload.wrestler1.name == "Test7" + conso_r8_1 = matches.select{|m| m.bracket_position == "Conso Round of 8.1"}.sort_by{|m| m.bracket_position_number} + assert conso_r8_1.first.reload.wrestler2.name == "Test8" + assert conso_r8_1.second.reload.wrestler1.name == "Test12" + assert conso_r8_1.second.reload.wrestler2.name == "Test13" + assert conso_r8_1.third.reload.wrestler1.name == "Test3" + assert conso_r8_1.third.reload.wrestler2.name == "Test11" + assert conso_r8_1.fourth.reload.wrestler1.name == "Test7" winner_by_name("Test1", quarter.first) winner_by_name("Test5", quarter.second) winner_by_name("Test14", quarter.third) winner_by_name("Test10", quarter.fourth) - winner_by_name("Test12", conso_round2.second) - winner_by_name("Test3", conso_round2.third) + winner_by_name("Test12", conso_r8_1.second) + winner_by_name("Test3", conso_r8_1.third) semis = matches.select{|m| m.bracket_position == "Semis"}.sort_by{|m| m.bracket_position_number} 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.wrestler2.name == "Test10" - conso_round3 = matches.select{|m| m.bracket_position == "Conso" and m.round == 3}.sort_by{|m| m.bracket_position_number} - assert conso_round3.first.reload.wrestler1.name == "Test2" - assert conso_round3.first.reload.wrestler2.name == "Test8" - assert conso_round3.second.reload.wrestler1.name == "Test6" - assert conso_round3.second.reload.wrestler2.name == "Test12" - assert conso_round3.third.reload.wrestler1.name == "Test4" - assert conso_round3.third.reload.wrestler2.name == "Test3" - assert conso_round3.fourth.reload.wrestler1.name == "Test9" - assert conso_round3.fourth.reload.wrestler2.name == "Test7" + conso_r8_2 = matches.select{|m| m.bracket_position == "Conso Round of 8.2"}.sort_by{|m| m.bracket_position_number} + assert conso_r8_2.first.reload.wrestler1.name == "Test2" + assert conso_r8_2.first.reload.wrestler2.name == "Test8" + assert conso_r8_2.second.reload.wrestler1.name == "Test6" + assert conso_r8_2.second.reload.wrestler2.name == "Test12" + assert conso_r8_2.third.reload.wrestler1.name == "Test4" + assert conso_r8_2.third.reload.wrestler2.name == "Test3" + assert conso_r8_2.fourth.reload.wrestler1.name == "Test9" + assert conso_r8_2.fourth.reload.wrestler2.name == "Test7" - winner_by_name("Test2", conso_round3.first) - winner_by_name("Test6", conso_round3.second) - winner_by_name("Test3", conso_round3.third) - winner_by_name("Test9", conso_round3.fourth) + winner_by_name("Test2", conso_r8_2.first) + winner_by_name("Test6", conso_r8_2.second) + winner_by_name("Test3", conso_r8_2.third) + 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} assert conso_quarter.first.reload.wrestler1.name == "Test2" diff --git a/test/integration/double_elimination_sixteen_man_1_8_match_generation_test.rb b/test/integration/double_elimination_sixteen_man_1_8_match_generation_test.rb index ef8b42c..7edd2dd 100644 --- a/test/integration/double_elimination_sixteen_man_1_8_match_generation_test.rb +++ b/test/integration/double_elimination_sixteen_man_1_8_match_generation_test.rb @@ -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 == "5/6"}.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 == "Conso" and m.round == 2}.count == 4 + assert @tournament.matches.select{|m| m.bracket_position == "Bracket Round of 16"}.count == 8 + 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 == "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 Semis"}.count == 2 end @@ -76,28 +76,28 @@ class DoubleEliminationSixteenManEightPlacesMatchGeneration < ActionDispatch::In 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 - 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" 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" 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" 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" 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" 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" 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" 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 == 1}.first.loser1_name == "BYE" + 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 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 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 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 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 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 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 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 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 - consoround2match2 = @tournament.matches.select{|match| match.bracket_position == "Conso" and match.round == 3 && 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 - consoround2match4 = @tournament.matches.select{|match| match.bracket_position == "Conso" and match.round == 3 && match.bracket_position_number == 4}.first + conso_r8_1_match1 = @tournament.matches.select{|match| match.bracket_position == "Conso Round of 8.2" && match.bracket_position_number == 1}.first + conso_r8_1_match2 = @tournament.matches.select{|match| match.bracket_position == "Conso Round of 8.2" && match.bracket_position_number == 2}.first + conso_r8_1_match3 = @tournament.matches.select{|match| match.bracket_position == "Conso Round of 8.2" && match.bracket_position_number == 3}.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 consoround2match2.loser1_name == "Loser of #{quarter3.bout_number}" - assert consoround2match3.loser1_name == "Loser of #{quarter2.bout_number}" - assert consoround2match4.loser1_name == "Loser of #{quarter1.bout_number}" + assert conso_r8_1_match1.loser1_name == "Loser of #{quarter4.bout_number}" + assert conso_r8_1_match2.loser1_name == "Loser of #{quarter3.bout_number}" + assert conso_r8_1_match3.loser1_name == "Loser of #{quarter2.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 semis2 = @tournament.matches.select{|match| match.bracket_position == "Semis" and match.bracket_position_number == 2}.first diff --git a/test/integration/double_elimination_sixteen_man_1_8_run_through_test.rb b/test/integration/double_elimination_sixteen_man_1_8_run_through_test.rb index 0136a56..5845191 100644 --- a/test/integration/double_elimination_sixteen_man_1_8_run_through_test.rb +++ b/test/integration/double_elimination_sixteen_man_1_8_run_through_test.rb @@ -35,20 +35,20 @@ class DoubleEliminationSixteenManEightPlacesRunThrough < ActionDispatch::Integra assert quarter.fourth.reload.wrestler1.name == "Test10" 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} - assert conso_round2.first.reload.wrestler2.name == "Test8" - assert conso_round2.second.reload.wrestler1.name == "Test12" - assert conso_round2.second.reload.wrestler2.name == "Test13" - assert conso_round2.third.reload.wrestler1.name == "Test3" - assert conso_round2.third.reload.wrestler2.name == "Test11" - assert conso_round2.fourth.reload.wrestler1.name == "Test7" + conso_r8_1 = matches.select{|m| m.bracket_position == "Conso Round of 8.1"}.sort_by{|m| m.bracket_position_number} + assert conso_r8_1.first.reload.wrestler2.name == "Test8" + assert conso_r8_1.second.reload.wrestler1.name == "Test12" + assert conso_r8_1.second.reload.wrestler2.name == "Test13" + assert conso_r8_1.third.reload.wrestler1.name == "Test3" + assert conso_r8_1.third.reload.wrestler2.name == "Test11" + assert conso_r8_1.fourth.reload.wrestler1.name == "Test7" winner_by_name("Test1", quarter.first) winner_by_name("Test5", quarter.second) winner_by_name("Test14", quarter.third) winner_by_name("Test10", quarter.fourth) - winner_by_name("Test12", conso_round2.second) - winner_by_name("Test3", conso_round2.third) + winner_by_name("Test12", conso_r8_1.second) + winner_by_name("Test3", conso_r8_1.third) semis = matches.select{|m| m.bracket_position == "Semis"}.sort_by{|m| m.bracket_position_number} 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.wrestler2.name == "Test10" - conso_round3 = matches.select{|m| m.bracket_position == "Conso" and m.round == 3}.sort_by{|m| m.bracket_position_number} - assert conso_round3.first.reload.wrestler1.name == "Test2" - assert conso_round3.first.reload.wrestler2.name == "Test8" - assert conso_round3.second.reload.wrestler1.name == "Test6" - assert conso_round3.second.reload.wrestler2.name == "Test12" - assert conso_round3.third.reload.wrestler1.name == "Test4" - assert conso_round3.third.reload.wrestler2.name == "Test3" - assert conso_round3.fourth.reload.wrestler1.name == "Test9" - assert conso_round3.fourth.reload.wrestler2.name == "Test7" + conso_r8_2 = matches.select{|m| m.bracket_position == "Conso Round of 8.2"}.sort_by{|m| m.bracket_position_number} + assert conso_r8_2.first.reload.wrestler1.name == "Test2" + assert conso_r8_2.first.reload.wrestler2.name == "Test8" + assert conso_r8_2.second.reload.wrestler1.name == "Test6" + assert conso_r8_2.second.reload.wrestler2.name == "Test12" + assert conso_r8_2.third.reload.wrestler1.name == "Test4" + assert conso_r8_2.third.reload.wrestler2.name == "Test3" + assert conso_r8_2.fourth.reload.wrestler1.name == "Test9" + assert conso_r8_2.fourth.reload.wrestler2.name == "Test7" - winner_by_name("Test2", conso_round3.first) - winner_by_name("Test6", conso_round3.second) - winner_by_name("Test3", conso_round3.third) - winner_by_name("Test9", conso_round3.fourth) + winner_by_name("Test2", conso_r8_2.first) + winner_by_name("Test6", conso_r8_2.second) + winner_by_name("Test3", conso_r8_2.third) + 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} assert conso_quarter.first.reload.wrestler1.name == "Test2" diff --git a/test/integration/double_elimination_tournament_seeding_test.rb b/test/integration/double_elimination_tournament_seeding_test.rb index da07dfd..ad3d2df 100644 --- a/test/integration/double_elimination_tournament_seeding_test.rb +++ b/test/integration/double_elimination_tournament_seeding_test.rb @@ -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 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.wrestler2.original_seed == nil) end @@ -56,7 +56,7 @@ class EightManDoubleEliminationSixPlacesRunThrough < ActionDispatch::Integration end 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 GenerateTournamentMatches.new(@tournament.reload).generate matches = @tournament.reload.matches @@ -66,8 +66,8 @@ class EightManDoubleEliminationSixPlacesRunThrough < ActionDispatch::Integration end 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_four_first_round = @tournament.matches.select{|m| m.round == 1 && m.wrestler1.name == "Test4"}.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.bracket_position == "Quarter" && m.wrestler1.name == "Test4"}.first wrestler_four_first_round_opponent = wrestler_four_first_round.wrestler2.id wrestler_two_first_round.wrestler1.destroy @@ -81,7 +81,7 @@ class EightManDoubleEliminationSixPlacesRunThrough < ActionDispatch::Integration GenerateTournamentMatches.new(@tournament.reload).generate 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 test "Swapping seeds should change just the bracket line of the two wrestlers swapped" do @@ -127,7 +127,7 @@ class EightManDoubleEliminationSixPlacesRunThrough < ActionDispatch::Integration 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 - 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 wrestler_seven = @tournament.wrestlers.select{|w| w.name == "Test7"}.first @@ -136,7 +136,7 @@ class EightManDoubleEliminationSixPlacesRunThrough < ActionDispatch::Integration 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 matches_original.each do |match| match_wrestler1_name = @tournament.wrestlers.select{|w| w.id == match.w1}.first.name diff --git a/test/integration/double_elimination_wrestler_score_test.rb b/test/integration/double_elimination_wrestler_score_test.rb index 0c07a34..711e275 100644 --- a/test/integration/double_elimination_wrestler_score_test.rb +++ b/test/integration/double_elimination_wrestler_score_test.rb @@ -32,7 +32,7 @@ class DoubleEliminationWrestlerScore < ActionDispatch::IntegrationTest test "Wrestlers get points for byes in the championship rounds" do 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 semi = matches.select{|m| m.bracket_position == "Semis"}.first 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 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 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("Test1", semi) 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 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 semi = matches.select{|m| m.bracket_position == "Semis"}.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 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 semi = matches.select{|m| m.bracket_position == "Conso Semis"}.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", semi) 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 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 semi = matches.select{|m| m.bracket_position == "Semis"}.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 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 semi = matches.select{|m| m.bracket_position == "Conso Semis"}.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", semi) winner_by_name("Test1", final) diff --git a/test/integration/modified_double_elimination_1_6_match_generation_test.rb b/test/integration/modified_double_elimination_1_6_match_generation_test.rb index 8b8e0d3..fb61eda 100644 --- a/test/integration/modified_double_elimination_1_6_match_generation_test.rb +++ b/test/integration/modified_double_elimination_1_6_match_generation_test.rb @@ -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 == "3/4"}.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 == "Conso" and m.round == 2}.count == 4 + 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 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 == "Semis"}.count == 2 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 @tournament.matches.reload - match1 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 1}.first - match2 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 2}.first - match3 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 3}.first - match4 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 4}.first - match5 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 5}.first - match6 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 6}.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 + 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.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 2}.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.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 4}.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.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 6}.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.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 8}.first assert match1.wrestler1.bracket_line == 1 assert match1.loser2_name == "BYE" @@ -65,23 +65,23 @@ class ModifiedDoubleEliminationSixPlacesManMatchGeneration < ActionDispatch::Int test "Loser names set up correctly" do @tournament.matches.reload - match1 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 1}.first - match2 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 2}.first - match3 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 3}.first - match4 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 4}.first - match5 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 5}.first - match6 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 6}.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 + 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.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 2}.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.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 4}.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.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 6}.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.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" 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" 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" 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" 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" 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" 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" 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 == 1}.first.loser1_name == "BYE" + 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 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 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 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 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 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 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 quarter2 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 2}.first diff --git a/test/integration/modified_double_elimination_1_6_run_through_test.rb b/test/integration/modified_double_elimination_1_6_run_through_test.rb index ee78c27..1754df4 100644 --- a/test/integration/modified_double_elimination_1_6_run_through_test.rb +++ b/test/integration/modified_double_elimination_1_6_run_through_test.rb @@ -17,7 +17,7 @@ class ModifiedDoubleEliminationSixPlacesRunThrough < ActionDispatch::Integration @tournament = create_double_elim_tournament_single_weight(14, "Modified 16 Man Double Elimination 1-6") 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("Test5", round1.select{|m| m.bracket_position_number == 3}.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.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.second.reload.wrestler1.name == "Test12" assert conso_round2.second.reload.wrestler2.name == "Test14" diff --git a/test/integration/modified_double_elimination_1_8_match_generation_test.rb b/test/integration/modified_double_elimination_1_8_match_generation_test.rb index 2098779..075ee8f 100644 --- a/test/integration/modified_double_elimination_1_8_match_generation_test.rb +++ b/test/integration/modified_double_elimination_1_8_match_generation_test.rb @@ -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 == "5/6"}.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 == "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 Semis"}.count == 2 end test "Seeded wrestlers have correct first line" do @tournament.matches.reload - match1 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 1}.first - match2 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 2}.first - match3 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 3}.first - match4 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 4}.first - match5 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 5}.first - match6 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 6}.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 + 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.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 2}.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.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 4}.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.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 6}.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.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 8}.first assert match1.wrestler1.bracket_line == 1 assert match1.loser2_name == "BYE" @@ -66,23 +66,23 @@ class ModifiedDoubleEliminationEightPlacesManMatchGeneration < ActionDispatch::I test "Loser names set up correctly" do @tournament.matches.reload - match1 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 1}.first - match2 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 2}.first - match3 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 3}.first - match4 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 4}.first - match5 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 5}.first - match6 = @tournament.matches.select{|match| match.round == 1 and match.bracket_position_number == 6}.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 + 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.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 2}.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.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 4}.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.bracket_position == "Bracket Round of 16" and match.bracket_position_number == 6}.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.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" 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" 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" 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" 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" 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" 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" 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 == 1}.first.loser1_name == "BYE" + 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 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 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 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 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 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 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 quarter2 = @tournament.matches.select{|match| match.bracket_position == "Quarter" and match.bracket_position_number == 2}.first diff --git a/test/integration/modified_double_elimination_1_8_run_through_test.rb b/test/integration/modified_double_elimination_1_8_run_through_test.rb index cdfd2d1..d241e9c 100644 --- a/test/integration/modified_double_elimination_1_8_run_through_test.rb +++ b/test/integration/modified_double_elimination_1_8_run_through_test.rb @@ -17,7 +17,7 @@ class ModifiedDoubleEliminationEightPlacesRunThrough < ActionDispatch::Integrati @tournament = create_double_elim_tournament_single_weight(14, "Modified 16 Man Double Elimination 1-8") 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("Test5", round1.select{|m| m.bracket_position_number == 3}.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.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.second.reload.wrestler1.name == "Test12" assert conso_round2.second.reload.wrestler2.name == "Test14" diff --git a/test/integration/modified_double_elimination_wrestler_score_test.rb b/test/integration/modified_double_elimination_wrestler_score_test.rb index 6afc293..9b7c87d 100644 --- a/test/integration/modified_double_elimination_wrestler_score_test.rb +++ b/test/integration/modified_double_elimination_wrestler_score_test.rb @@ -44,7 +44,7 @@ class ModifiedDoubleEliminationWrestlerScore < ActionDispatch::IntegrationTest test "Wrestlers get points for byes in the consolation rounds" do 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 semi = matches.select{|m| m.bracket_position == "Conso Semis"}.first 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 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 semi = matches.select{|m| m.bracket_position == "Conso Semis"}.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 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 semi = matches.select{|m| m.bracket_position == "Conso Semis"}.first final = matches.select{|m| m.bracket_position == "5/6"}.first diff --git a/test/integration/tournament_backup_import_test.rb b/test/integration/tournament_backup_import_test.rb index eb331ea..3b43fde 100644 --- a/test/integration/tournament_backup_import_test.rb +++ b/test/integration/tournament_backup_import_test.rb @@ -33,111 +33,111 @@ class TournamentBackupImportTest < ActionDispatch::IntegrationTest # Copied from double_elimination_32_man_1_8_run_through_test.rb matches = @tournament.matches.reload - round1 = matches.select{|m| m.round == 1} - winner_by_name("Test17", round1.select{|m| m.bracket_position_number == 2}.first) - winner_by_name("Test9", round1.select{|m| m.bracket_position_number == 3}.first) - winner_by_name("Test25", round1.select{|m| m.bracket_position_number == 4}.first) - winner_by_name("Test5", round1.select{|m| m.bracket_position_number == 5}.first) - winner_by_name("Test12", round1.select{|m| m.bracket_position_number == 6}.first) - winner_by_name("Test20", round1.select{|m| m.bracket_position_number == 7}.first) - winner_by_name("Test4", round1.select{|m| m.bracket_position_number == 8}.first) - winner_by_name("Test3", round1.select{|m| m.bracket_position_number == 9}.first) - winner_by_name("Test14", round1.select{|m| m.bracket_position_number == 10}.first) - winner_by_name("Test11", round1.select{|m| m.bracket_position_number == 11}.first) - winner_by_name("Test6", round1.select{|m| m.bracket_position_number == 12}.first) - winner_by_name("Test7", round1.select{|m| m.bracket_position_number == 13}.first) - winner_by_name("Test10", round1.select{|m| m.bracket_position_number == 14}.first) - winner_by_name("Test18", round1.select{|m| m.bracket_position_number == 15}.first) + bracket_r32 = matches.select{|m| m.bracket_position == "Bracket Round of 32"} + winner_by_name("Test17", bracket_r32.select{|m| m.bracket_position_number == 2}.first) + winner_by_name("Test9", bracket_r32.select{|m| m.bracket_position_number == 3}.first) + winner_by_name("Test25", bracket_r32.select{|m| m.bracket_position_number == 4}.first) + winner_by_name("Test5", bracket_r32.select{|m| m.bracket_position_number == 5}.first) + winner_by_name("Test12", bracket_r32.select{|m| m.bracket_position_number == 6}.first) + winner_by_name("Test20", bracket_r32.select{|m| m.bracket_position_number == 7}.first) + winner_by_name("Test4", bracket_r32.select{|m| m.bracket_position_number == 8}.first) + winner_by_name("Test3", bracket_r32.select{|m| m.bracket_position_number == 9}.first) + winner_by_name("Test14", bracket_r32.select{|m| m.bracket_position_number == 10}.first) + winner_by_name("Test11", bracket_r32.select{|m| m.bracket_position_number == 11}.first) + winner_by_name("Test6", bracket_r32.select{|m| m.bracket_position_number == 12}.first) + winner_by_name("Test7", bracket_r32.select{|m| m.bracket_position_number == 13}.first) + winner_by_name("Test10", bracket_r32.select{|m| m.bracket_position_number == 14}.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} - assert round2_championship.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 round2_championship.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 round2_championship.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 round2_championship.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 round2_championship.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 round2_championship.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 round2_championship.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 round2_championship.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" - winner_by_name("Test1", round2_championship.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("Test5", round2_championship.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("Test3", round2_championship.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("Test10", round2_championship.select{|m| m.bracket_position_number == 7}.first) - winner_by_name("Test2", round2_championship.select{|m| m.bracket_position_number == 8}.first) + bracket_r16 = matches.reload.select{|m| m.bracket_position == "Bracket Round of 16"}.sort_by{|m| m.bracket_position_number} + assert bracket_r16.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test1" + assert bracket_r16.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test17" + assert bracket_r16.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test9" + assert bracket_r16.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test25" + assert bracket_r16.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test5" + assert bracket_r16.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test12" + assert bracket_r16.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test20" + assert bracket_r16.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test4" + assert bracket_r16.select{|m| m.bracket_position_number == 5}.first.reload.wrestler1.name == "Test3" + assert bracket_r16.select{|m| m.bracket_position_number == 5}.first.reload.wrestler2.name == "Test14" + assert bracket_r16.select{|m| m.bracket_position_number == 6}.first.reload.wrestler1.name == "Test11" + assert bracket_r16.select{|m| m.bracket_position_number == 6}.first.reload.wrestler2.name == "Test6" + assert bracket_r16.select{|m| m.bracket_position_number == 7}.first.reload.wrestler1.name == "Test7" + assert bracket_r16.select{|m| m.bracket_position_number == 7}.first.reload.wrestler2.name == "Test10" + assert bracket_r16.select{|m| m.bracket_position_number == 8}.first.reload.wrestler1.name == "Test18" + assert bracket_r16.select{|m| m.bracket_position_number == 8}.first.reload.wrestler2.name == "Test2" + winner_by_name("Test1", bracket_r16.select{|m| m.bracket_position_number == 1}.first) + winner_by_name("Test25", bracket_r16.select{|m| m.bracket_position_number == 2}.first) + winner_by_name("Test5", bracket_r16.select{|m| m.bracket_position_number == 3}.first) + winner_by_name("Test4", bracket_r16.select{|m| m.bracket_position_number == 4}.first) + winner_by_name("Test3", bracket_r16.select{|m| m.bracket_position_number == 5}.first) + winner_by_name("Test11", bracket_r16.select{|m| m.bracket_position_number == 6}.first) + winner_by_name("Test10", bracket_r16.select{|m| m.bracket_position_number == 7}.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} - assert round2_conso.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 round2_conso.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 round2_conso.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 round2_conso.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 round2_conso.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 round2_conso.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 round2_conso.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 round2_conso.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" - winner_by_name("Test8", round2_conso.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("Test29", round2_conso.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("Test22", round2_conso.select{|m| m.bracket_position_number == 6}.first) - winner_by_name("Test23", round2_conso.select{|m| m.bracket_position_number == 7}.first) + conso_r16_1 = matches.reload.select{|m| m.bracket_position == "Conso Round of 16.1"}.sort_by{|m| m.bracket_position_number} + assert conso_r16_1.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.wrestler2.name == "Test16" + assert conso_r16_1.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.wrestler2.name == "Test8" + assert conso_r16_1.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.wrestler2.name == "Test21" + assert conso_r16_1.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.wrestler2.name == "Test29" + assert conso_r16_1.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.wrestler2.name == "Test19" + assert conso_r16_1.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.wrestler2.name == "Test27" + assert conso_r16_1.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.wrestler2.name == "Test23" + assert conso_r16_1.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.loser2_name == "BYE" + winner_by_name("Test8", conso_r16_1.select{|m| m.bracket_position_number == 2}.first) + winner_by_name("Test21", conso_r16_1.select{|m| m.bracket_position_number == 3}.first) + winner_by_name("Test29", conso_r16_1.select{|m| m.bracket_position_number == 4}.first) + winner_by_name("Test19", conso_r16_1.select{|m| m.bracket_position_number == 5}.first) + winner_by_name("Test22", conso_r16_1.select{|m| m.bracket_position_number == 6}.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} - assert round3_conso.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 round3_conso.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 round3_conso.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 round3_conso.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 round3_conso.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 round3_conso.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 round3_conso.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 round3_conso.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" - winner_by_name("Test16", round3_conso.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("Test6", round3_conso.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("Test20", round3_conso.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("Test23", round3_conso.select{|m| m.bracket_position_number == 7}.first) - winner_by_name("Test17", round3_conso.select{|m| m.bracket_position_number == 8}.first) + conso_r16_2 = matches.reload.select{|m| m.bracket_position == "Conso Round of 16.2"}.sort_by{|m| m.bracket_position_number} + assert conso_r16_2.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.wrestler2.name == "Test16" + assert conso_r16_2.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.wrestler2.name == "Test8" + assert conso_r16_2.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.wrestler2.name == "Test21" + assert conso_r16_2.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.wrestler2.name == "Test29" + assert conso_r16_2.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.wrestler2.name == "Test19" + assert conso_r16_2.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.wrestler2.name == "Test22" + assert conso_r16_2.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.wrestler2.name == "Test23" + assert conso_r16_2.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.wrestler2.name == "Test15" + winner_by_name("Test16", conso_r16_2.select{|m| m.bracket_position_number == 1}.first) + winner_by_name("Test8", conso_r16_2.select{|m| m.bracket_position_number == 2}.first) + winner_by_name("Test6", conso_r16_2.select{|m| m.bracket_position_number == 3}.first) + winner_by_name("Test29", conso_r16_2.select{|m| m.bracket_position_number == 4}.first) + winner_by_name("Test20", conso_r16_2.select{|m| m.bracket_position_number == 5}.first) + winner_by_name("Test12", conso_r16_2.select{|m| m.bracket_position_number == 6}.first) + winner_by_name("Test23", conso_r16_2.select{|m| m.bracket_position_number == 7}.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} - assert round4_conso.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 round4_conso.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 round4_conso.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 round4_conso.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" - winner_by_name("Test8", round4_conso.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("Test20", round4_conso.select{|m| m.bracket_position_number == 3}.first) - winner_by_name("Test17", round4_conso.select{|m| m.bracket_position_number == 4}.first) + conso_r8_1 = matches.reload.select{|m| m.bracket_position == "Conso Round of 8.1"}.sort_by{|m| m.bracket_position_number} + assert conso_r8_1.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.wrestler2.name == "Test8" + assert conso_r8_1.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.wrestler2.name == "Test29" + assert conso_r8_1.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.wrestler2.name == "Test12" + assert conso_r8_1.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.wrestler2.name == "Test17" + winner_by_name("Test8", conso_r8_1.select{|m| m.bracket_position_number == 1}.first) + winner_by_name("Test6", conso_r8_1.select{|m| m.bracket_position_number == 2}.first) + winner_by_name("Test20", conso_r8_1.select{|m| m.bracket_position_number == 3}.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} 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("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} - assert round5_conso.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 round5_conso.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 round5_conso.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 round5_conso.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" - winner_by_name("Test8", round5_conso.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("Test3", round5_conso.select{|m| m.bracket_position_number == 3}.first) - winner_by_name("Test10", round5_conso.select{|m| m.bracket_position_number == 4}.first) + conso_r8_2 = matches.reload.select{|m| m.bracket_position == "Conso Round of 8.2"}.sort_by{|m| m.bracket_position_number} + assert conso_r8_2.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.wrestler2.name == "Test8" + assert conso_r8_2.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.wrestler2.name == "Test6" + assert conso_r8_2.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.wrestler2.name == "Test20" + assert conso_r8_2.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.wrestler2.name == "Test17" + winner_by_name("Test8", conso_r8_2.select{|m| m.bracket_position_number == 1}.first) + winner_by_name("Test6", conso_r8_2.select{|m| m.bracket_position_number == 2}.first) + winner_by_name("Test3", conso_r8_2.select{|m| m.bracket_position_number == 3}.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} 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 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} - assert round2_championship.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 round2_championship.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 round2_championship.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 round2_championship.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 round2_championship.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 round2_championship.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 round2_championship.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 round2_championship.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" + bracket_r16 = matches.reload.select{|m| m.bracket_position == "Bracket Round of 16"}.sort_by{|m| m.bracket_position_number} + assert bracket_r16.select{|m| m.bracket_position_number == 1}.first.reload.wrestler1.name == "Test1" + assert bracket_r16.select{|m| m.bracket_position_number == 1}.first.reload.wrestler2.name == "Test17" + assert bracket_r16.select{|m| m.bracket_position_number == 2}.first.reload.wrestler1.name == "Test9" + assert bracket_r16.select{|m| m.bracket_position_number == 2}.first.reload.wrestler2.name == "Test25" + assert bracket_r16.select{|m| m.bracket_position_number == 3}.first.reload.wrestler1.name == "Test5" + assert bracket_r16.select{|m| m.bracket_position_number == 3}.first.reload.wrestler2.name == "Test12" + assert bracket_r16.select{|m| m.bracket_position_number == 4}.first.reload.wrestler1.name == "Test20" + assert bracket_r16.select{|m| m.bracket_position_number == 4}.first.reload.wrestler2.name == "Test4" + assert bracket_r16.select{|m| m.bracket_position_number == 5}.first.reload.wrestler1.name == "Test3" + assert bracket_r16.select{|m| m.bracket_position_number == 5}.first.reload.wrestler2.name == "Test14" + assert bracket_r16.select{|m| m.bracket_position_number == 6}.first.reload.wrestler1.name == "Test11" + assert bracket_r16.select{|m| m.bracket_position_number == 6}.first.reload.wrestler2.name == "Test6" + assert bracket_r16.select{|m| m.bracket_position_number == 7}.first.reload.wrestler1.name == "Test7" + assert bracket_r16.select{|m| m.bracket_position_number == 7}.first.reload.wrestler2.name == "Test10" + assert bracket_r16.select{|m| m.bracket_position_number == 8}.first.reload.wrestler1.name == "Test18" + 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} - assert round2_conso.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 round2_conso.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 round2_conso.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 round2_conso.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 round2_conso.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 round2_conso.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 round2_conso.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 round2_conso.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" + conso_r16_1 = matches.reload.select{|m| m.bracket_position == "Conso Round of 16.1"}.sort_by{|m| m.bracket_position_number} + assert conso_r16_1.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.wrestler2.name == "Test16" + assert conso_r16_1.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.wrestler2.name == "Test8" + assert conso_r16_1.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.wrestler2.name == "Test21" + assert conso_r16_1.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.wrestler2.name == "Test29" + assert conso_r16_1.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.wrestler2.name == "Test19" + assert conso_r16_1.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.wrestler2.name == "Test27" + assert conso_r16_1.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.wrestler2.name == "Test23" + assert conso_r16_1.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.loser2_name == "BYE" - round3_conso = matches.reload.select{|m| m.bracket_position == "Conso" and m.round == 3}.sort_by{|m| m.bracket_position_number} - assert round3_conso.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 round3_conso.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 round3_conso.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 round3_conso.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 round3_conso.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 round3_conso.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 round3_conso.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 round3_conso.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" + conso_r16_2 = matches.reload.select{|m| m.bracket_position == "Conso Round of 16.2"}.sort_by{|m| m.bracket_position_number} + assert conso_r16_2.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.wrestler2.name == "Test16" + assert conso_r16_2.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.wrestler2.name == "Test8" + assert conso_r16_2.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.wrestler2.name == "Test21" + assert conso_r16_2.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.wrestler2.name == "Test29" + assert conso_r16_2.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.wrestler2.name == "Test19" + assert conso_r16_2.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.wrestler2.name == "Test22" + assert conso_r16_2.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.wrestler2.name == "Test23" + assert conso_r16_2.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.wrestler2.name == "Test15" - round4_conso = matches.reload.select{|m| m.bracket_position == "Conso" and m.round == 4}.sort_by{|m| m.bracket_position_number} - assert round4_conso.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 round4_conso.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 round4_conso.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 round4_conso.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" + conso_r8_1 = matches.reload.select{|m| m.bracket_position == "Conso Round of 8.1"}.sort_by{|m| m.bracket_position_number} + assert conso_r8_1.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.wrestler2.name == "Test8" + assert conso_r8_1.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.wrestler2.name == "Test29" + assert conso_r8_1.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.wrestler2.name == "Test12" + assert conso_r8_1.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.wrestler2.name == "Test17" 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" @@ -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.wrestler2.name == "Test2" - round5_conso = matches.reload.select{|m| m.bracket_position == "Conso" and m.round == 5}.sort_by{|m| m.bracket_position_number} - assert round5_conso.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 round5_conso.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 round5_conso.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 round5_conso.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" + conso_r8_2 = matches.reload.select{|m| m.bracket_position == "Conso Round of 8.2"}.sort_by{|m| m.bracket_position_number} + assert conso_r8_2.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.wrestler2.name == "Test8" + assert conso_r8_2.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.wrestler2.name == "Test6" + assert conso_r8_2.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.wrestler2.name == "Test20" + assert conso_r8_2.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.wrestler2.name == "Test17" 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"