public function testCreate() { $teamA = new Team(); $teamA->setPlayerA(new Player(1, 'John Doe')); $teamA->setPlayerB(new Player(2, 'James Doe')); $teamB = new Team(); $teamB->setPlayerA(new Player(3, 'John Smith')); $teamB->setPlayerB(new Player(4, 'James Smith')); $setScore = new SetScore(); $setScore->setScoresByString('21-18'); $match = new Match(); $match->setTeamA($teamA); $match->setTeamB($teamB); $match->addSetScore($setScore); $match->addSetScoreByString('21-16'); $match->setGameTimeLengthInSeconds(5); $validator = Validation::createValidatorBuilder()->addMethodMapping('loadValidatorMetadata')->getValidator(); $this->assertEmpty($validator->validate($match)); $this->assertTrue($match->getTeamA() instanceof Team); $this->assertTrue($match->getTeamB() instanceof Team); $this->assertSame(2, count($match->getSetScores())); $this->assertTrue($match->getSetscores()[0] instanceof SetSCore); $this->assertTrue($match->getSetscore(1) instanceof SetSCore); $this->assertSame(null, $match->getSetScore(3)); $this->assertSame(5, $match->getGameTimeLengthInSeconds()); $this->assertSame('[(1) John Doe, (2) James Doe] def [(3) John Smith, (4) James Smith]', $match->__toString()); }
private function setupMatch() { $player1 = new Player(1, 'John Doe'); $player2 = new Player(2, 'James Doe'); $player3 = new Player(3, 'John Smith'); $player4 = new Player(4, 'James Smith'); $teamA = new Team(); $teamA->setPlayerA($player1); $teamA->setPlayerB($player2); $teamB = new Team(); $teamB->setPlayerA($player3); $teamB->setPlayerB($player4); $match = new Match(); $match->setTeamA($teamA); $match->setTeamB($teamB); $match->addSetScore(new SetScore('21-18')); $match->addSetScore(new SetScore('16-21')); $match->addSetScore(new SetScore('15-8')); $match->setGameTimeLengthInSeconds(60); $this->entityManager->persist($player1); $this->entityManager->persist($player2); $this->entityManager->persist($player3); $this->entityManager->persist($player4); $this->entityManager->persist($teamA); $this->entityManager->persist($teamB); $this->matchRepository->create($match); $this->entityManager->flush(); return $match; }