示例#1
0
 /**
  * @group Helpers
  * @group FixtureGenerator
  * @group generatefixture
  */
 public function testFixtureGenerator()
 {
     $teams = \App\Lib\DsManager\Models\Orm\Team::all();
     $rounds = \App\Lib\DsManager\Helpers\LeagueFixtureGenerator::generate($teams->toArray());
     //Number of rounds
     $this->assertCount($teams->count() - 1, $rounds);
     //Matches for each round
     foreach ($rounds as $round) {
         $this->assertCount($teams->count() / 2, $round);
     }
 }
 function run()
 {
     $leagues = ['friendly' => 16, 'europa league' => 8];
     $teams = Team::all()->toArray();
     foreach ($leagues as $league => $teamsNum) {
         $teamCopy = $teams;
         $league = League::create(['name' => $league, 'teams' => $teamsNum]);
         //Create Rounds
         shuffle($teamCopy);
         $teamCopy = array_splice($teamCopy, 0, $teamsNum);
         $rounds = LeagueFixtureGenerator::generate($teamCopy);
         foreach ($rounds as $i => $round) {
             $leagueRound = LeagueRound::create(['league_id' => $league->id, 'day' => $i + 1]);
             foreach ($round as $match) {
                 $newMatch = Match::create(['home_team_id' => $match['home_team_id'], 'away_team_id' => $match['away_team_id'], 'league_round_id' => $leagueRound->id]);
             }
         }
     }
 }