1
0
mirror of https://github.com/jcwimer/wrestlingApp synced 2026-03-25 01:14:43 +00:00
Files
wrestlingdev.com/test/integration/poolbracket_matchups_test.rb

127 lines
3.7 KiB
Ruby

require 'test_helper'
class PoolbracketMatchupsTest < ActionDispatch::IntegrationTest
def setup
@tournament = Tournament.find(1)
@tournament.upcomingMatches
@genMatchups = @tournament.generateMatchups
end
def createTournament(numberOfWrestlers)
@count = 1
@id = 6000 + numberOfWrestlers
@tournament3 = Tournament.new
@tournament3.id = @id
@tournament3.name = "Something"
@tournament3.address = "Some Place"
@tournament3.director = "Some Guy"
@tournament3.director_email = "test@test.com"
@tournament3.save
@school3 = School.new
@school3.id = @id
@school3.name = "Shit Show"
@school3.tournament_id = @id
@school3.save
@weight3 = Weight.new
@weight3.id = @id
@weight3.max = 350
@weight3.tournament_id = @id
@weight3.save
until @count > numberOfWrestlers do
@wrestler2 = Wrestler.new
@wrestler2.name = "Guy #{@count}"
@wrestler2.school_id = @id
@wrestler2.weight_id = @id
@wrestler2.original_seed = @count
@wrestler2.season_loss = 0
@wrestler2.season_win = 0
@wrestler2.criteria = nil
@wrestler2.save
@count = @count + 1
end
return @tournament3
end
def checkForByeInPool(tournament)
@matchups = tournament.generateMatchups
tournament.weights.each do |w|
w.wrestlers.each do |wr|
@round = 1
if w.totalRounds(@matchups) > 5
until @round > w.poolRounds(@matchups) do
if wr.boutByRound(@round,@matchups) == "BYE"
@message = "BYE"
end
@round = @round + 1
end
assert_equal "BYE", @message
@message = nil
end
end
end
end
test "the truth" do
assert true
end
test "found tournament" do
refute_nil @tournament
end
test "tests boutNumber matches round" do
@matchup_to_test = @genMatchups.select{|m| m.boutNumber == 4000}.first
assert_equal 4, @matchup_to_test.round
end
test "tests boutNumbers are generated with smallest weight first regardless of id" do
@weight = @tournament.weights.map.sort_by{|x|[x.max]}.first
@matchup = @genMatchups.select{|m| m.boutNumber == 1000}.first
assert_equal @weight.max, @matchup.weight_max
end
test "tests number of matches in 5 man one pool" do
@six_matches = @genMatchups.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 = @genMatchups.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 = @genMatchups.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 = @genMatchups.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 = @genMatchups.select{|m| m.weight_max == 132}
assert_equal 32, @twentysix_matches.length
end
test "tests serialization for matchups" do
@tournament_saved = Tournament.find(1)
@genMatchup = @genMatchups.select{|m| m.boutNumber == 4000}.first
@matchup = @tournament_saved.upcomingMatches.select{|m| m.boutNumber == 4000}.first
assert_equal @genMatchup.w1_name, @matchup.w1_name
end
test "test if a wrestler can exceed five matches" do
@count = 5
until @count > 16 do
@tournament2 = createTournament(@count)
checkForByeInPool(@tournament2)
@count = @count + 1
end
end
#todo test crazy movements through each bracket?
end