From 278a3f3dd0591add4a01682f482e9f342e841710 Mon Sep 17 00:00:00 2001 From: Jacob Cody Wimer Date: Fri, 19 Apr 2019 21:49:34 -0400 Subject: [PATCH] Removed fixtures from integration tests --- .../eight_pool_match_generation_test.rb | 3 + .../four_pool_to_quarter_generation_test.rb | 89 +++++ .../four_pool_to_semi_generation_test.rb | 83 +++++ test/integration/pool_advancement_test.rb | 309 ------------------ test/integration/poolbracket_matchups_test.rb | 268 --------------- .../two_pool_to_final_generation_test.rb | 50 +++ .../two_pool_to_semi_generation_test.rb | 63 ++++ 7 files changed, 288 insertions(+), 577 deletions(-) create mode 100644 test/integration/four_pool_to_quarter_generation_test.rb create mode 100644 test/integration/four_pool_to_semi_generation_test.rb delete mode 100644 test/integration/pool_advancement_test.rb delete mode 100644 test/integration/poolbracket_matchups_test.rb create mode 100644 test/integration/two_pool_to_final_generation_test.rb create mode 100644 test/integration/two_pool_to_semi_generation_test.rb diff --git a/test/integration/eight_pool_match_generation_test.rb b/test/integration/eight_pool_match_generation_test.rb index cf81421..93ede5f 100644 --- a/test/integration/eight_pool_match_generation_test.rb +++ b/test/integration/eight_pool_match_generation_test.rb @@ -54,6 +54,9 @@ class EightPoolMatchGenerationTest < ActionDispatch::IntegrationTest thirdFourth = @tournament.matches.reload.select{|m| m.bracket_position == "3/4"}.first seventhEighth = @tournament.matches.reload.select{|m| m.bracket_position == "7/8"}.first consoSemis = @tournament.matches.reload.select{|m| m.bracket_position == "Conso Semis"} + semis = @tournament.matches.reload.select{|m| m.bracket_position == "Semis"} + assert thirdFourth.loser1_name == "Loser of #{semis.select{|m| m.bracket_position_number == 1}.first.bout_number}" + assert thirdFourth.loser2_name == "Loser of #{semis.select{|m| m.bracket_position_number == 2}.first.bout_number}" assert seventhEighth.loser1_name == "Loser of #{consoSemis.select{|m| m.bracket_position_number == 1}.first.bout_number}" assert seventhEighth.loser2_name == "Loser of #{consoSemis.select{|m| m.bracket_position_number == 2}.first.bout_number}" end diff --git a/test/integration/four_pool_to_quarter_generation_test.rb b/test/integration/four_pool_to_quarter_generation_test.rb new file mode 100644 index 0000000..6ebbc41 --- /dev/null +++ b/test/integration/four_pool_to_quarter_generation_test.rb @@ -0,0 +1,89 @@ +require 'test_helper' + +class FourPoolToQuarterGenerationTest < ActionDispatch::IntegrationTest + def setup + create_pool_tournament_single_weight(12) + end + + test "Match generation works" do + assert @tournament.matches.count == 24 + 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 Semis"}.count == 2 + 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 == "7/8"}.count == 1 + assert @tournament.matches.select{|m| m.bracket_position == "Pool"}.count == 12 + assert @tournament.weights.first.pools == 4 + end + + test "Seeded wrestlers go to correct pool" do + guy1 = get_wrestler_by_name("Test1") + guy2 = get_wrestler_by_name("Test2") + guy3 = get_wrestler_by_name("Test3") + guy4 = get_wrestler_by_name("Test4") + guy5 = get_wrestler_by_name("Test5") + guy6 = get_wrestler_by_name("Test6") + guy7 = get_wrestler_by_name("Test7") + guy8 = get_wrestler_by_name("Test8") + assert guy1.pool == 1 + assert guy2.pool == 2 + assert guy3.pool == 3 + assert guy4.pool == 4 + assert guy5.pool == 4 + assert guy6.pool == 3 + assert guy7.pool == 2 + assert guy8.pool == 1 + end + + test "Loser names set up correctly" do + assert @tournament.matches.select{|m| m.bracket_position == "Quarter" && m.bracket_position_number == 1}.first.loser1_name == "Winner Pool 1" + assert @tournament.matches.select{|m| m.bracket_position == "Quarter" && m.bracket_position_number == 1}.first.loser2_name == "Runner Up Pool 2" + assert @tournament.matches.select{|m| m.bracket_position == "Quarter" && m.bracket_position_number == 2}.first.loser1_name == "Winner Pool 4" + assert @tournament.matches.select{|m| m.bracket_position == "Quarter" && m.bracket_position_number == 2}.first.loser2_name == "Runner Up Pool 3" + assert @tournament.matches.select{|m| m.bracket_position == "Quarter" && m.bracket_position_number == 3}.first.loser1_name == "Winner Pool 2" + assert @tournament.matches.select{|m| m.bracket_position == "Quarter" && m.bracket_position_number == 3}.first.loser2_name == "Runner Up Pool 1" + assert @tournament.matches.select{|m| m.bracket_position == "Quarter" && m.bracket_position_number == 4}.first.loser1_name == "Winner Pool 3" + assert @tournament.matches.select{|m| m.bracket_position == "Quarter" && m.bracket_position_number == 4}.first.loser2_name == "Runner Up Pool 4" + quarters = @tournament.matches.reload.select{|m| m.bracket_position == "Quarter"} + assert @tournament.matches.select{|m| m.bracket_position == "Conso Semis" && m.bracket_position_number == 1}.first.loser1_name == "Loser of #{quarters.select{|m| m.bracket_position_number == 1}.first.bout_number}" + assert @tournament.matches.select{|m| m.bracket_position == "Conso Semis" && m.bracket_position_number == 1}.first.loser2_name == "Loser of #{quarters.select{|m| m.bracket_position_number == 2}.first.bout_number}" + assert @tournament.matches.select{|m| m.bracket_position == "Conso Semis" && m.bracket_position_number == 2}.first.loser1_name == "Loser of #{quarters.select{|m| m.bracket_position_number == 3}.first.bout_number}" + assert @tournament.matches.select{|m| m.bracket_position == "Conso Semis" && m.bracket_position_number == 2}.first.loser2_name == "Loser of #{quarters.select{|m| m.bracket_position_number == 4}.first.bout_number}" + thirdFourth = @tournament.matches.reload.select{|m| m.bracket_position == "3/4"}.first + seventhEighth = @tournament.matches.reload.select{|m| m.bracket_position == "7/8"}.first + consoSemis = @tournament.matches.reload.select{|m| m.bracket_position == "Conso Semis"} + semis = @tournament.matches.reload.select{|m| m.bracket_position == "Semis"} + assert thirdFourth.loser1_name == "Loser of #{semis.select{|m| m.bracket_position_number == 1}.first.bout_number}" + assert thirdFourth.loser2_name == "Loser of #{semis.select{|m| m.bracket_position_number == 2}.first.bout_number}" + assert seventhEighth.loser1_name == "Loser of #{consoSemis.select{|m| m.bracket_position_number == 1}.first.bout_number}" + assert seventhEighth.loser2_name == "Loser of #{consoSemis.select{|m| m.bracket_position_number == 2}.first.bout_number}" + end + + test "Each wrestler has two pool matches" do + @tournament.wrestlers.each do |wrestler| + assert wrestler.pool_matches.size == 2 + end + end + + test "Placement points are given when moving through bracket" do + match = @tournament.matches.select{|m| m.bracket_position == "Quarter"}.first + wrestler = get_wrestler_by_name("Test1") + match.w1 = wrestler.id + match.save + assert wrestler.reload.placement_points == 3 + + match2 = @tournament.matches.select{|m| m.bracket_position == "Semis"}.first + match2.w1 = wrestler.id + match2.save + assert wrestler.reload.placement_points == 9 + end + + test "Run through all matches works" do + @tournament.matches.sort{ |match| match.round }.each do |match| + match.winner_id = match.w1 + match.save + end + end +end diff --git a/test/integration/four_pool_to_semi_generation_test.rb b/test/integration/four_pool_to_semi_generation_test.rb new file mode 100644 index 0000000..bac0135 --- /dev/null +++ b/test/integration/four_pool_to_semi_generation_test.rb @@ -0,0 +1,83 @@ +require 'test_helper' + +class FourPoolToSemiGenerationTest < ActionDispatch::IntegrationTest + def setup + create_pool_tournament_single_weight(16) + end + + test "Match generation works" do + assert @tournament.matches.count == 32 + assert @tournament.matches.select{|m| m.bracket_position == "Semis"}.count == 2 + assert @tournament.matches.select{|m| m.bracket_position == "Conso Semis"}.count == 2 + 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 == "7/8"}.count == 1 + assert @tournament.matches.select{|m| m.bracket_position == "Pool"}.count == 24 + assert @tournament.weights.first.pools == 4 + end + + test "Seeded wrestlers go to correct pool" do + guy1 = get_wrestler_by_name("Test1") + guy2 = get_wrestler_by_name("Test2") + guy3 = get_wrestler_by_name("Test3") + guy4 = get_wrestler_by_name("Test4") + guy5 = get_wrestler_by_name("Test5") + guy6 = get_wrestler_by_name("Test6") + guy7 = get_wrestler_by_name("Test7") + guy8 = get_wrestler_by_name("Test8") + assert guy1.pool == 1 + assert guy2.pool == 2 + assert guy3.pool == 3 + assert guy4.pool == 4 + assert guy5.pool == 4 + assert guy6.pool == 3 + assert guy7.pool == 2 + assert guy8.pool == 1 + end + + test "Loser names set up correctly" do + assert @tournament.matches.select{|m| m.bracket_position == "Semis" && m.bracket_position_number == 1}.first.loser1_name == "Winner Pool 1" + assert @tournament.matches.select{|m| m.bracket_position == "Semis" && m.bracket_position_number == 1}.first.loser2_name == "Winner Pool 4" + assert @tournament.matches.select{|m| m.bracket_position == "Semis" && m.bracket_position_number == 2}.first.loser1_name == "Winner Pool 2" + assert @tournament.matches.select{|m| m.bracket_position == "Semis" && m.bracket_position_number == 2}.first.loser2_name == "Winner Pool 3" + assert @tournament.matches.select{|m| m.bracket_position == "Conso Semis" && m.bracket_position_number == 1}.first.loser1_name == "Runner Up Pool 1" + assert @tournament.matches.select{|m| m.bracket_position == "Conso Semis" && m.bracket_position_number == 1}.first.loser2_name == "Runner Up Pool 4" + assert @tournament.matches.select{|m| m.bracket_position == "Conso Semis" && m.bracket_position_number == 2}.first.loser1_name == "Runner Up Pool 2" + assert @tournament.matches.select{|m| m.bracket_position == "Conso Semis" && m.bracket_position_number == 2}.first.loser2_name == "Runner Up Pool 3" + thirdFourth = @tournament.matches.reload.select{|m| m.bracket_position == "3/4"}.first + seventhEighth = @tournament.matches.reload.select{|m| m.bracket_position == "7/8"}.first + consoSemis = @tournament.matches.reload.select{|m| m.bracket_position == "Conso Semis"} + semis = @tournament.matches.reload.select{|m| m.bracket_position == "Semis"} + assert thirdFourth.loser1_name == "Loser of #{semis.select{|m| m.bracket_position_number == 1}.first.bout_number}" + assert thirdFourth.loser2_name == "Loser of #{semis.select{|m| m.bracket_position_number == 2}.first.bout_number}" + assert seventhEighth.loser1_name == "Loser of #{consoSemis.select{|m| m.bracket_position_number == 1}.first.bout_number}" + assert seventhEighth.loser2_name == "Loser of #{consoSemis.select{|m| m.bracket_position_number == 2}.first.bout_number}" + end + + test "Each wrestler has three pool matches" do + @tournament.wrestlers.each do |wrestler| + assert wrestler.pool_matches.size == 3 + end + end + + test "Placement points are given when moving through bracket" do + match = @tournament.matches.select{|m| m.bracket_position == "Conso Semis"}.first + wrestler = get_wrestler_by_name("Test1") + match.w1 = wrestler.id + match.save + assert wrestler.reload.placement_points == 3 + + match2 = @tournament.matches.select{|m| m.bracket_position == "Semis"}.first + match2.w1 = wrestler.id + match2.save + assert wrestler.reload.placement_points == 9 + end + + test "Run through all matches works" do + @tournament.matches.sort{ |match| match.round }.each do |match| + match.winner_id = match.w1 + match.save + end + end +end diff --git a/test/integration/pool_advancement_test.rb b/test/integration/pool_advancement_test.rb deleted file mode 100644 index 974c27e..0000000 --- a/test/integration/pool_advancement_test.rb +++ /dev/null @@ -1,309 +0,0 @@ -require 'test_helper' - -class PoolAdvancementTest < ActionDispatch::IntegrationTest - - def setup - - end - - - - # test "nine man outright finals advance" do - # nineManBracketPoolOneOutrightWinnerGuyTwo - # wrestler = Wrestler.where("name = ?", "Guy2").first - # assert_equal 6000, wrestler.bout_by_round(6) - # end - - # test "nine man outright conso finals advance" do - # nineManBracketPoolOneOutrightWinnerGuyTwo - # wrestler = Wrestler.where("name = ?", "Guy8").first - # assert_equal 6001, wrestler.bout_by_round(6) - # end - - # test "nine man pool 2 man to man tie breaker finalist guy 9" do - # wrestler = Wrestler.where("name = ?", "Guy9").first - # nineManBracketPoolTwoGuyNineHeadToHead - # assert_equal 6000, wrestler.bout_by_round(6) - # end - - # test "nine man pool 2 man to man tie breaker finalist guy 3" do - # wrestler = Wrestler.where("name = ?", "Guy3").first - # nineManBracketPoolTwoGuyThreeHeadToHead - # assert_equal 6000, wrestler.bout_by_round(6) - # end - - # test "nine man conso finals man to man tie breaker guy 3" do - # nineManBracketPoolTwoGuyNineHeadToHead - # wrestler = Wrestler.where("name = ?", "Guy3").first - # assert_equal 6001, wrestler.bout_by_round(6) - # end - - # test "nine man conso finals man to man tie breaker guy 9" do - # nineManBracketPoolTwoGuyThreeHeadToHead - # wrestler = Wrestler.where("name = ?", "Guy9").first - # assert_equal 6001, wrestler.bout_by_round(6) - # end - - # test "nine man pool 2 deductedPoints tie breaker finalist guy 3" do - # wrestler = Wrestler.where("name = ?", "Guy3").first - # nineManBracketPoolTwoGuyThreeDeductedPoints - # assert_equal 6000, wrestler.bout_by_round(6) - # end - - # test "nine man conso finals deductedPoints tie breaker guy 9" do - # nineManBracketPoolTwoGuyThreeDeductedPoints - # wrestler = Wrestler.where("name = ?", "Guy9").first - # assert_equal 6001, wrestler.bout_by_round(6) - # end - - - - # test "nine man pool 2 mostDecisionPointsScored tie breaker finalist guy 3" do - # wrestler = Wrestler.where("name = ?", "Guy3").first - # nineManBracketPoolTwoGuyThreeMostDecisionPoints - # assert_equal 6000, wrestler.bout_by_round(6) - # end - - # test "nine man conso finals mostDecisionPointsScored tie breaker guy 9" do - # nineManBracketPoolTwoGuyThreeMostDecisionPoints - # wrestler = Wrestler.where("name = ?", "Guy9").first - # assert_equal 6001, wrestler.bout_by_round(6) - # end - - # test "nine man pool 2 QuickestPin tie breaker finalist guy 3" do - # wrestler = Wrestler.where("name = ?", "Guy3").first - # nineManBracketPoolTwoGuyThreeQuickestPin - # assert_equal 6000, wrestler.bout_by_round(6) - # end - - # test "nine man conso finals QuickestPin tie breaker guy 9" do - # nineManBracketPoolTwoGuyThreeQuickestPin - # wrestler = Wrestler.where("name = ?", "Guy9").first - # assert_equal 6001, wrestler.bout_by_round(6) - # end - - # test "nine man pool 2 teamPoints tie breaker finalist guy 3" do - # wrestler = Wrestler.where("name = ?", "Guy3").first - # nineManBracketPoolTwoGuyThreeTeamPoints - # assert_equal 6000, wrestler.bout_by_round(6) - # end - - # test "nine man conso finals teamPoints tie breaker guy 9" do - # nineManBracketPoolTwoGuyThreeTeamPoints - # wrestler = Wrestler.where("name = ?", "Guy9").first - # assert_equal 6001, wrestler.bout_by_round(6) - # end - - # test "nine man pool 2 mostPins tie breaker finalist guy 3" do - # wrestler = Wrestler.where("name = ?", "Guy3").first - # nineManBracketPoolTwoGuyThreeMostPins - # assert_equal 6000, wrestler.bout_by_round(6) - # end - - # test "nine man conso finals mostPins tie breaker guy 9" do - # nineManBracketPoolTwoGuyThreeMostPins - # wrestler = Wrestler.where("name = ?", "Guy9").first - # assert_equal 6001, wrestler.bout_by_round(6) - # end - - # test "nine man pool 1 mostTechs tie breaker finalist guy 8" do - # nineManBracketPoolOneGuyEightMostTechs - # wrestler = Wrestler.where("name = ?", "Guy8").first - # assert_equal 6000, wrestler.bout_by_round(6) - # end - - # test "nine man conso finals mostTechs tie breaker guy 10" do - # nineManBracketPoolOneGuyEightMostTechs - # wrestler = Wrestler.where("name = ?", "Guy10").first - # assert_equal 6001, wrestler.bout_by_round(6) - # end - - # test "twoPoolsToFinal total points finals" do - # nineManBracketPoolOneOutrightWinnerGuyTwo - # nineManBracketPoolTwoGuyThreeHeadToHead - # wrestler1 = Wrestler.where("name = ?", "Guy2").first - # wrestler2 = Wrestler.where("name = ?", "Guy3").first - # #Won four in pool - # assert_equal 22, wrestler1.total_team_points - # #Won two in pool - # assert_equal 18, wrestler2.total_team_points - # end - - # test "advancement points 1/2" do - # nineManBracketPoolOneOutrightWinnerGuyTwo - # wrestler1 = Wrestler.where("name = ?", "Guy2").first - # assert_equal 12, wrestler1.placement_points - # end - - # test "advancement points 3/4" do - # nineManBracketPoolOneOutrightWinnerGuyTwo - # wrestler1 = Wrestler.where("name = ?", "Guy8").first - # assert_equal 9, wrestler1.placement_points - # end - - # test "advancement points 5/6" do - # elevenManBracketToFinals - # wrestler = Wrestler.where("name = ?", "Guy17").first - - # assert_equal 6, wrestler.placement_points - # end - - # test "advancement points 7/8" do - # elevenManBracketToFinals - # wrestler = Wrestler.where("name = ?", "Guy19").first - - # assert_equal 3, wrestler.placement_points - # end - - # test "advancement points winner 1/2" do - # nineManBracketPoolOneOutrightWinnerGuyTwo - # nineManBracketPoolTwoGuyThreeHeadToHead - # endMatch(6000,"Guy2") - # wrestler1 = Wrestler.where("name = ?", "Guy2").first - # assert_equal 16, wrestler1.placement_points - # end - - # test "advancement points winner 3/4" do - # nineManBracketPoolOneOutrightWinnerGuyTwo - # nineManBracketPoolTwoGuyThreeHeadToHead - # endMatch(6001,"Guy8") - # wrestler1 = Wrestler.where("name = ?", "Guy8").first - # assert_equal 10, wrestler1.placement_points - # end - - # test "advancement points winner 5/6" do - # elevenManBracketFinished - # wrestler = Wrestler.where("name = ?", "Guy17").first - - # assert_equal 7, wrestler.placement_points - # end - - # test "advancement points winner 7/8" do - # elevenManBracketFinished - # wrestler = Wrestler.where("name = ?", "Guy19").first - - # assert_equal 4, wrestler.placement_points - # end - - # test "bonus points major" do - # endMatchWithMajor(2002,"Guy2") - # wrestler1 = Wrestler.where("name = ?", "Guy2").first - # assert_equal 5, wrestler1.team_points_earned - # end - - # test "bonus points pin" do - # endMatchWithPin(2002,"Guy2") - # wrestler1 = Wrestler.where("name = ?", "Guy2").first - # assert_equal 6, wrestler1.team_points_earned - # end - - # test "bonus points tech fall" do - # endMatchWithTech(2002,"Guy2") - # wrestler1 = Wrestler.where("name = ?", "Guy2").first - # assert_equal 5.5, wrestler1.team_points_earned - # end - - # test "pool team points win" do - # endMatch(2002,"Guy2") - # wrestler1 = Wrestler.where("name = ?", "Guy2").first - # assert_equal 4, wrestler1.team_points_earned - # end - - # test "advancement points fourPoolsToQuarter Quarter" do - # elevenManBracketToQuarter - # wrestler1 = Wrestler.where("name = ?", "Guy11").first - # assert_equal 3, wrestler1.placement_points - # end - - # test "advancement points fourPoolsToQuarter Semis" do - # elevenManBracketToSemis - # wrestler = Wrestler.where("name = ?", "Guy11").first - - # assert_equal 9, wrestler.placement_points - # end - - # test "advancement points twoPoolsToSemi Semis" do - # sevenManTwoPoolToSemi - # wrestler = Wrestler.where("name = ?", "Casey Davis").first - - # assert_equal 9, wrestler.placement_points - # end - - # test "advancement points twoPoolsToSemi Finals" do - # sevenManTwoPoolSemiToFinals - # wrestler = Wrestler.where("name = ?", "Casey Davis").first - - # assert_equal 12, wrestler.placement_points - # end - - # test "advancement points fourPoolsToSemi Semis and Conso Semis" do - # sixteenManToSemi - # wrestler = Wrestler.where("name = ?", "Guy22").first - - # assert_equal 9, wrestler.placement_points - - # wrestler = Wrestler.where("name = ?", "Guy29").first - - # assert_equal 3, wrestler.placement_points - # end - - # test "extra does not score points but does get pool criteria" do - # extraDoesNotScoreTeamPoints - # wrestler = Wrestler.where("name = ?", "Guy22").first - - # assert_equal 0, wrestler.total_team_points - # assert_equal 2, wrestler.team_points_earned - # end - - # test "Test mat assignment when adding a mat and when destroying a mat" do - # mat2 = Mat.new - # mat2.name = "2" - # mat2.tournament_id = 1 - # mat2.save - # assert_equal 4, mat2.matches.size - # elevenManBracketFinished - # mat2.destroy - # mat1 = Mat.find(1) - # assert_equal 4, mat1.matches.size - # end - - # test "Championship bracket wins are 2pts" do - # elevenManBracketToQuarter - # assert_equal 9, Wrestler.where("name = ?", "Guy11").first.team_points_earned - - # endMatch(4006,"Guy11") - # assert_equal 17, Wrestler.where("name = ?", "Guy11").first.team_points_earned - # endMatch(4007,"Guy14") - # endMatch(5004,"Guy11") - # assert_equal 22, Wrestler.where("name = ?", "Guy11").first.team_points_earned - # end - - # test "Conso bracket wins are 1pt" do - # elevenManBracketToSemis - # assert_equal 7, Wrestler.where("name = ?", "Guy17").first.team_points_earned - - # endMatch(5006,"Guy17") - # assert_equal 11, Wrestler.where("name = ?", "Guy17").first.team_points_earned - # end - - # test "One pool placement points" do - # singlePoolFinished - # wrestler1 = Wrestler.where("name = ?", "James Wimer").first - # wrestler2 = Wrestler.where("name = ?", "Jaden Mattox").first - # wrestler3 = Wrestler.where("name = ?", "Jackson Lakso").first - # wrestler4 = Wrestler.where("name = ?", "JD Woods").first - # assert_equal 16, wrestler1.placement_points - # assert_equal 12, wrestler2.placement_points - # assert_equal 10, wrestler3.placement_points - # assert_equal 9, wrestler4.placement_points - # end - - # test "One pool placement points zero if pool not finished" do - # singlePoolNotFinished - # wrestler1 = Wrestler.where("name = ?", "James Wimer").first - # assert_equal 0, wrestler1.placement_points - # end - - - -end diff --git a/test/integration/poolbracket_matchups_test.rb b/test/integration/poolbracket_matchups_test.rb deleted file mode 100644 index 85a5dcf..0000000 --- a/test/integration/poolbracket_matchups_test.rb +++ /dev/null @@ -1,268 +0,0 @@ -require 'test_helper' - -class PoolbracketMatchupsTest < ActionDispatch::IntegrationTest - def setup - @tournament = Tournament.find(1) - GenerateTournamentMatches.new(@tournament).generate - end - - def createTournament(numberOfWrestlers) - @id = 600 + numberOfWrestlers - tournament = create_tournament - create_school - create_weight - create_mat - create_wrestlers(numberOfWrestlers) - tournament - end - - def create_tournament - tournament = Tournament.new( - id: @id, - tournament_type: "Pool to bracket", - name: "Something", - address: "Some Place", - director: "Some Guy", - director_email: "test@test.com", - date: Date.today - ) - tournament.save - tournament - end - - def create_school - School.new( - id: @id, - name: "Shit Show", - tournament_id: @id - ).save! - end - - def create_mat - Mat.new( - id: @id, - name: "Mat 1", - tournament_id: @id - ).save! - end - - def create_weight - Weight.new( - id: @id, - tournament_id: @id, - max: @id - ).save! - end - - def create_wrestlers(numberOfWrestlers) - (1..numberOfWrestlers).each do |count| - Wrestler.new( - name: "Guy #{count}", - school_id: @id, - weight_id: @id, - original_seed: count, - season_loss: 0, - season_win: 0, - criteria: nil - ).save! - end - end - - def checkForByeInPool(tournament) - GenerateTournamentMatches.new(tournament).generate - matchups = tournament.matches - tournament.weights.each do |w| - w.wrestlers.each do |wr| - round = 1 - if w.total_rounds(matchups) > 5 - until round > w.pool_rounds(matchups) do - if wr.bout_by_round(round) == "BYE" - message = "BYE" - end - round += 1 - end - assert_equal "BYE", message - message = nil - end - end - end - end - - test "found tournament" do - refute_nil @tournament - end - - test "tournament can be set to high school weight classes" do - @tournament.weights.destroy_all - @tournament.create_pre_defined_weights("hs") - assert_equal Weight::HS_WEIGHT_CLASSES.size, @tournament.weights.size - end - - test "tests bout numbers correspond to round" do - matchup_to_test = @tournament.matches.select{|m| m.bout_number == 4000}.first - assert_equal 4, matchup_to_test.round - end - - test "tests bout_numbers are generated with smallest weight first regardless of id" do - weight = @tournament.weights.order(:max).limit(1).first - matchup = @tournament.matches.where(bout_number: 1000).limit(1).first - assert_equal weight.max, matchup.weight.max - end - - test "tests number of matches in 5 man one pool" do - six_matches = @tournament.matches.select{|m| m.weight_max == 106} - assert_equal 10, six_matches.length - end - - test "tests number of matches in 11 man pool bracket" do - twentysix_matches = @tournament.matches.select{|m| m.weight_max == 126} - assert_equal 22, twentysix_matches.length - end - - test "tests number of matches in 9 man pool bracket" do - twentysix_matches = @tournament.matches.select{|m| m.weight_max == 113} - assert_equal 18, twentysix_matches.length - end - - test "tests number of matches in 7 man pool bracket" do - twentysix_matches = @tournament.matches.select{|m| m.weight_max == 120} - assert_equal 13, twentysix_matches.length - end - - test "tests number of matches in 16 man pool bracket" do - twentysix_matches = @tournament.matches.select{|m| m.weight_max == 132} - assert_equal 32, twentysix_matches.length - end - - test "test if a wrestler can exceed five matches" do - (5...16).each do |count| - tourney = createTournament(count) - checkForByeInPool(tourney) - end - end - - test "test loser names for 16 man bracket 3/4th place match" do - matches = @tournament.matches.where(weight_id: 5) - semi_bouts = matches.where(bracket_position: 'Semis') - third_fourth_match = matches.where(bracket_position: '3/4').first - assert_equal "Loser of #{semi_bouts.first.bout_number}", third_fourth_match.loser1_name - assert_equal "Loser of #{semi_bouts.second.bout_number}", third_fourth_match.loser2_name - end - - test "test loser names for 16 man bracket 7/8th place match" do - matches = @tournament.matches.where(weight_id: 5) - conso_semi_bouts = matches.where(bracket_position: 'Conso Semis') - seven_eight_match = matches.where(bracket_position: '7/8').first - assert_equal "Loser of #{conso_semi_bouts.first.bout_number}", seven_eight_match.loser1_name - assert_equal "Loser of #{conso_semi_bouts.second.bout_number}", seven_eight_match.loser2_name - end - - test "test loser names for 16 man bracket semis" do - matches = @tournament.matches.where(weight_id: 5) - semi_bouts = matches.where(bracket_position: 'Semis') - assert_equal "Winner Pool 1", semi_bouts.first.loser1_name - assert_equal "Winner Pool 4", semi_bouts.first.loser2_name - assert_equal "Winner Pool 2", semi_bouts.second.loser1_name - assert_equal "Winner Pool 3", semi_bouts.second.loser2_name - end - - test "test loser names for 16 man bracket conso semis" do - matches = @tournament.matches.where(weight_id: 5) - conso_semi_bouts = matches.where(bracket_position: 'Conso Semis') - assert_equal "Runner Up Pool 1", conso_semi_bouts.first.loser1_name - assert_equal "Runner Up Pool 4", conso_semi_bouts.first.loser2_name - assert_equal "Runner Up Pool 2", conso_semi_bouts.second.loser1_name - assert_equal "Runner Up Pool 3", conso_semi_bouts.second.loser2_name - end - - - test "test loser names for 11 man bracket 3/4th place match" do - matches = @tournament.matches.where(weight_id: 4) - semi_bouts = matches.where(bracket_position: 'Semis') - third_fourth_match = matches.where(bracket_position: '3/4').first - assert_equal "Loser of #{semi_bouts.first.bout_number}", third_fourth_match.loser1_name - assert_equal "Loser of #{semi_bouts.second.bout_number}", third_fourth_match.loser2_name - end - - test "test loser names for 11 man bracket 7/8th place match" do - matches = @tournament.matches.where(weight_id: 4) - conso_semi_bouts = matches.where(bracket_position: 'Conso Semis') - seven_eight_match = matches.where(bracket_position: '7/8').first - assert_equal "Loser of #{conso_semi_bouts.first.bout_number}", seven_eight_match.loser1_name - assert_equal "Loser of #{conso_semi_bouts.second.bout_number}", seven_eight_match.loser2_name - end - - test "test loser names for 11 man bracket quarters" do - matches = @tournament.matches.where(weight_id: 4) - quarters = matches.where(bracket_position: 'Quarter') - assert_equal "Winner Pool 1", quarters.first.loser1_name - assert_equal "Runner Up Pool 2", quarters.first.loser2_name - assert_equal "Winner Pool 4", quarters.second.loser1_name - assert_equal "Runner Up Pool 3", quarters.second.loser2_name - assert_equal "Winner Pool 2", quarters.third.loser1_name - assert_equal "Runner Up Pool 1", quarters.third.loser2_name - assert_equal "Winner Pool 3", quarters.fourth.loser1_name - assert_equal "Runner Up Pool 4", quarters.fourth.loser2_name - end - - test "test loser names for 11 man bracket conso semis" do - matches = @tournament.matches.where(weight_id: 4) - quarters = matches.where(bracket_position: 'Quarter') - conso_semi_bouts = matches.where(bracket_position: 'Conso Semis') - assert_equal "Loser of #{quarters.first.bout_number}", conso_semi_bouts.first.loser1_name - assert_equal "Loser of #{quarters.second.bout_number}", conso_semi_bouts.first.loser2_name - assert_equal "Loser of #{quarters.third.bout_number}", conso_semi_bouts.second.loser1_name - assert_equal "Loser of #{quarters.fourth.bout_number}", conso_semi_bouts.second.loser2_name - end - - test "test loser names for 9 man bracket 3/4th place match" do - matches = @tournament.matches.where(weight_id: 3) - third_fourth_match = matches.where(bracket_position: '3/4').first - assert_equal "Runner Up Pool 1", third_fourth_match.loser1_name - assert_equal "Runner Up Pool 2", third_fourth_match.loser2_name - end - - test "test loser names for 9 man bracket 1/2 place match" do - matches = @tournament.matches.where(weight_id: 3) - final_match = matches.where(bracket_position: '1/2').first - assert_equal "Winner Pool 1", final_match.loser1_name - assert_equal "Winner Pool 2", final_match.loser2_name - end - - test "test loser names for 7 man bracket 3/4th place match" do - matches = @tournament.matches.where(weight_id: 2) - semi_bouts = matches.where(bracket_position: 'Semis') - third_fourth_match = matches.where(bracket_position: '3/4').first - assert_equal "Loser of #{semi_bouts.first.bout_number}", third_fourth_match.loser1_name - assert_equal "Loser of #{semi_bouts.second.bout_number}", third_fourth_match.loser2_name - end - - test "test loser names for 7 man bracket semis" do - matches = @tournament.matches.where(weight_id: 2) - semi_bouts = matches.where(bracket_position: 'Semis') - assert_equal "Winner Pool 1", semi_bouts.first.loser1_name - assert_equal "Runner Up Pool 2", semi_bouts.first.loser2_name - assert_equal "Winner Pool 2", semi_bouts.second.loser1_name - assert_equal "Runner Up Pool 1", semi_bouts.second.loser2_name - end - test 'test mat assignment after match generation' do - matches = @tournament.matches.order(:bout_number) - assert_equal 'Mat1', matches.first.mat.name - end - - test "finals matches in last round" do - lastRound = @tournament.total_rounds - finalsMatches = @tournament.matches.select{|m| m.bracket_position == "1/2" || m.bracket_position == "3/4" || m.bracket_position == "5/6" || m.bracket_position == "7/8"} - finalsMatches.each do |m| - assert_equal lastRound, m.round - end - end - - test "Random seeding works" do - weight = Weight.find(6) - wrestlersWithoutSeed = weight.wrestlers.select{|w| w.bracket_line == nil }.size - - assert_equal 0, wrestlersWithoutSeed - end - -end diff --git a/test/integration/two_pool_to_final_generation_test.rb b/test/integration/two_pool_to_final_generation_test.rb new file mode 100644 index 0000000..4e9a929 --- /dev/null +++ b/test/integration/two_pool_to_final_generation_test.rb @@ -0,0 +1,50 @@ +require 'test_helper' + +class TwoPoolToFinalGenerationTest < ActionDispatch::IntegrationTest + def setup + create_pool_tournament_single_weight(10) + end + + test "Match generation works" do + assert @tournament.matches.count == 22 + 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 == "Pool"}.count == 20 + assert @tournament.weights.first.pools == 2 + end + + test "Seeded wrestlers go to correct pool" do + guy1 = get_wrestler_by_name("Test1") + guy2 = get_wrestler_by_name("Test2") + guy3 = get_wrestler_by_name("Test3") + guy4 = get_wrestler_by_name("Test4") + guy5 = get_wrestler_by_name("Test5") + guy6 = get_wrestler_by_name("Test6") + guy7 = get_wrestler_by_name("Test7") + guy8 = get_wrestler_by_name("Test8") + assert guy1.pool == 1 + assert guy2.pool == 2 + assert guy3.pool == 2 + assert guy4.pool == 1 + end + + test "Loser names set up correctly" do + assert @tournament.matches.select{|m| m.bracket_position == "1/2" && m.bracket_position_number == 1}.first.loser1_name == "Winner Pool 1" + assert @tournament.matches.select{|m| m.bracket_position == "1/2" && m.bracket_position_number == 1}.first.loser2_name == "Winner Pool 2" + assert @tournament.matches.select{|m| m.bracket_position == "3/4" && m.bracket_position_number == 1}.first.loser1_name == "Runner Up Pool 1" + assert @tournament.matches.select{|m| m.bracket_position == "3/4" && m.bracket_position_number == 1}.first.loser2_name == "Runner Up Pool 2" + end + + test "Each wrestler has two pool matches" do + @tournament.wrestlers.each do |wrestler| + assert wrestler.pool_matches.size == 4 + end + end + + test "Run through all matches works" do + @tournament.matches.sort{ |match| match.round }.each do |match| + match.winner_id = match.w1 + match.save + end + end +end diff --git a/test/integration/two_pool_to_semi_generation_test.rb b/test/integration/two_pool_to_semi_generation_test.rb new file mode 100644 index 0000000..2ef278e --- /dev/null +++ b/test/integration/two_pool_to_semi_generation_test.rb @@ -0,0 +1,63 @@ +require 'test_helper' + +class TwoPoolToSemiGenerationTest < ActionDispatch::IntegrationTest + def setup + create_pool_tournament_single_weight(8) + end + + test "Match generation works" do + assert @tournament.matches.count == 16 + assert @tournament.matches.select{|m| m.bracket_position == "Semis"}.count == 2 + 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 == "Pool"}.count == 12 + assert @tournament.weights.first.pools == 2 + end + + test "Seeded wrestlers go to correct pool" do + guy1 = get_wrestler_by_name("Test1") + guy2 = get_wrestler_by_name("Test2") + guy3 = get_wrestler_by_name("Test3") + guy4 = get_wrestler_by_name("Test4") + guy5 = get_wrestler_by_name("Test5") + guy6 = get_wrestler_by_name("Test6") + guy7 = get_wrestler_by_name("Test7") + guy8 = get_wrestler_by_name("Test8") + assert guy1.pool == 1 + assert guy2.pool == 2 + assert guy3.pool == 2 + assert guy4.pool == 1 + end + + test "Loser names set up correctly" do + assert @tournament.matches.select{|m| m.bracket_position == "Semis" && m.bracket_position_number == 1}.first.loser1_name == "Winner Pool 1" + assert @tournament.matches.select{|m| m.bracket_position == "Semis" && m.bracket_position_number == 1}.first.loser2_name == "Runner Up Pool 2" + assert @tournament.matches.select{|m| m.bracket_position == "Semis" && m.bracket_position_number == 2}.first.loser1_name == "Winner Pool 2" + assert @tournament.matches.select{|m| m.bracket_position == "Semis" && m.bracket_position_number == 2}.first.loser2_name == "Runner Up Pool 1" + thirdFourth = @tournament.matches.reload.select{|m| m.bracket_position == "3/4"}.first + semis = @tournament.matches.reload.select{|m| m.bracket_position == "Semis"} + assert thirdFourth.loser1_name == "Loser of #{semis.select{|m| m.bracket_position_number == 1}.first.bout_number}" + assert thirdFourth.loser2_name == "Loser of #{semis.select{|m| m.bracket_position_number == 2}.first.bout_number}" + end + + test "Each wrestler has two pool matches" do + @tournament.wrestlers.each do |wrestler| + assert wrestler.pool_matches.size == 3 + end + end + + test "Placement points are given when moving through bracket" do + match = @tournament.matches.select{|m| m.bracket_position == "Semis"}.first + wrestler = get_wrestler_by_name("Test1") + match.w1 = wrestler.id + match.save + assert wrestler.reload.placement_points == 9 + end + + test "Run through all matches works" do + @tournament.matches.sort{ |match| match.round }.each do |match| + match.winner_id = match.w1 + match.save + end + end +end