| @@ 24-119 (lines=96) @@ | ||
| 21 | * Class TournamentTest |
|
| 22 | * @package Tfboe\FmLib\Tests\Unit\Entity |
|
| 23 | */ |
|
| 24 | class RankingTest extends UnitTestCase |
|
| 25 | { |
|
| 26 | //<editor-fold desc="Public Methods"> |
|
| 27 | /** |
|
| 28 | * @covers \Tfboe\FmLib\Entity\Traits\Ranking::init |
|
| 29 | * @uses \Tfboe\FmLib\Entity\Helpers\NameEntity::getName |
|
| 30 | * @uses \Tfboe\FmLib\Entity\Traits\Ranking::getTeams |
|
| 31 | */ |
|
| 32 | public function testConstructor() |
|
| 33 | { |
|
| 34 | $ranking = $this->ranking(); |
|
| 35 | self::assertInstanceOf(Ranking::class, $ranking); |
|
| 36 | self::assertEquals('', $ranking->getName()); |
|
| 37 | self::assertInstanceOf(Collection::class, $ranking->getTeams()); |
|
| 38 | self::assertEquals(0, $ranking->getTeams()->count()); |
|
| 39 | } |
|
| 40 | ||
| 41 | /** |
|
| 42 | * @covers \Tfboe\FmLib\Entity\Traits\Ranking::setPhase |
|
| 43 | * @covers \Tfboe\FmLib\Entity\Traits\Ranking::getPhase |
|
| 44 | * @uses \Tfboe\FmLib\Entity\Traits\Ranking::init |
|
| 45 | * @uses \Tfboe\FmLib\Entity\Traits\Ranking::getUniqueRank |
|
| 46 | * @uses \Tfboe\FmLib\Entity\Traits\Ranking::setUniqueRank |
|
| 47 | * @uses \Tfboe\FmLib\Entity\Helpers\TournamentHierarchyEntity::__construct |
|
| 48 | */ |
|
| 49 | public function testPhase() |
|
| 50 | { |
|
| 51 | $ranking = $this->ranking(); |
|
| 52 | $phase = $this->createStub(PhaseInterface::class, ['getRankings' => new ArrayCollection()]); |
|
| 53 | $ranking->setUniqueRank(1); |
|
| 54 | /** @var PhaseInterface $phase */ |
|
| 55 | $ranking->setPhase($phase); |
|
| 56 | self::assertEquals($phase, $ranking->getPhase()); |
|
| 57 | self::assertEquals(1, $ranking->getPhase()->getRankings()->count()); |
|
| 58 | self::assertEquals($ranking, $ranking->getPhase()->getRankings()[$ranking->getUniqueRank()]); |
|
| 59 | ||
| 60 | $phase2 = $this->createStub(PhaseInterface::class, ['getRankings' => new ArrayCollection()]); |
|
| 61 | ||
| 62 | /** @var PhaseInterface $phase2 */ |
|
| 63 | $ranking->setPhase($phase2); |
|
| 64 | self::assertEquals($phase2, $ranking->getPhase()); |
|
| 65 | self::assertEquals(1, $ranking->getPhase()->getRankings()->count()); |
|
| 66 | self::assertEquals(0, $phase->getRankings()->count()); |
|
| 67 | self::assertEquals($ranking, $ranking->getPhase()->getRankings()[$ranking->getUniqueRank()]); |
|
| 68 | } |
|
| 69 | ||
| 70 | /** |
|
| 71 | * @covers \Tfboe\FmLib\Entity\Traits\Ranking::setRank |
|
| 72 | * @covers \Tfboe\FmLib\Entity\Traits\Ranking::getRank |
|
| 73 | * @uses \Tfboe\FmLib\Entity\Traits\Ranking::init |
|
| 74 | */ |
|
| 75 | public function testRank() |
|
| 76 | { |
|
| 77 | $ranking = $this->ranking(); |
|
| 78 | $ranking->setRank(5); |
|
| 79 | self::assertEquals(5, $ranking->getRank()); |
|
| 80 | } |
|
| 81 | ||
| 82 | /** |
|
| 83 | * @covers \Tfboe\FmLib\Entity\Traits\Ranking::getTeams |
|
| 84 | * @uses \Tfboe\FmLib\Entity\Traits\Ranking::init |
|
| 85 | * @uses \Tfboe\FmLib\Entity\Traits\Team |
|
| 86 | */ |
|
| 87 | public function testTeams() |
|
| 88 | { |
|
| 89 | $ranking = $this->ranking(); |
|
| 90 | $team = new Team(); |
|
| 91 | $team->setStartNumber(1); |
|
| 92 | $ranking->getTeams()->set($team->getStartNumber(), $team); |
|
| 93 | self::assertEquals(1, $ranking->getTeams()->count()); |
|
| 94 | self::assertEquals($team, $ranking->getTeams()[1]); |
|
| 95 | } |
|
| 96 | ||
| 97 | /** |
|
| 98 | * @covers \Tfboe\FmLib\Entity\Traits\Ranking::setUniqueRank |
|
| 99 | * @covers \Tfboe\FmLib\Entity\Traits\Ranking::getUniqueRank |
|
| 100 | * @uses \Tfboe\FmLib\Entity\Traits\Ranking::init |
|
| 101 | */ |
|
| 102 | public function testUniqueRank() |
|
| 103 | { |
|
| 104 | $ranking = $this->ranking(); |
|
| 105 | $ranking->setUniqueRank(5); |
|
| 106 | self::assertEquals(5, $ranking->getUniqueRank()); |
|
| 107 | } |
|
| 108 | //</editor-fold desc="Public Methods"> |
|
| 109 | ||
| 110 | //<editor-fold desc="Private Methods"> |
|
| 111 | /** |
|
| 112 | * @return RankingInterface a new ranking |
|
| 113 | */ |
|
| 114 | private function ranking(): RankingInterface |
|
| 115 | { |
|
| 116 | return new Ranking(); |
|
| 117 | } |
|
| 118 | //</editor-fold desc="Private Methods"> |
|
| 119 | } |
|
| @@ 24-119 (lines=96) @@ | ||
| 21 | * Class TournamentTest |
|
| 22 | * @package Tfboe\FmLib\Tests\Unit\Entity |
|
| 23 | */ |
|
| 24 | class TeamTest extends UnitTestCase |
|
| 25 | { |
|
| 26 | //<editor-fold desc="Public Methods"> |
|
| 27 | /** |
|
| 28 | * @covers \Tfboe\FmLib\Entity\Traits\Team::setCompetition |
|
| 29 | * @covers \Tfboe\FmLib\Entity\Traits\Team::getCompetition |
|
| 30 | * @uses \Tfboe\FmLib\Entity\Traits\Team::init |
|
| 31 | * @uses \Tfboe\FmLib\Entity\Traits\Team::getStartNumber |
|
| 32 | * @uses \Tfboe\FmLib\Entity\Traits\Team::setStartNumber |
|
| 33 | * @uses \Tfboe\FmLib\Entity\Helpers\TournamentHierarchyEntity::__construct |
|
| 34 | */ |
|
| 35 | public function testCompetition() |
|
| 36 | { |
|
| 37 | $team = $this->team(); |
|
| 38 | $competition = $this->createStub(CompetitionInterface::class, ['getTeams' => new ArrayCollection()]); |
|
| 39 | $team->setStartNumber(1); |
|
| 40 | /** @var CompetitionInterface $competition */ |
|
| 41 | $team->setCompetition($competition); |
|
| 42 | self::assertEquals($competition, $team->getCompetition()); |
|
| 43 | self::assertEquals(1, $team->getCompetition()->getTeams()->count()); |
|
| 44 | self::assertEquals($team, $team->getCompetition()->getTeams()[$team->getStartNumber()]); |
|
| 45 | ||
| 46 | $competition2 = $this->createStub(CompetitionInterface::class, ['getTeams' => new ArrayCollection()]); |
|
| 47 | ||
| 48 | /** @var CompetitionInterface $competition2 */ |
|
| 49 | $team->setCompetition($competition2); |
|
| 50 | self::assertEquals($competition2, $team->getCompetition()); |
|
| 51 | self::assertEquals(1, $team->getCompetition()->getTeams()->count()); |
|
| 52 | self::assertEquals(0, $competition->getTeams()->count()); |
|
| 53 | self::assertEquals($team, $team->getCompetition()->getTeams()[$team->getStartNumber()]); |
|
| 54 | } |
|
| 55 | ||
| 56 | /** |
|
| 57 | * @covers \Tfboe\FmLib\Entity\Traits\Team::init |
|
| 58 | * @uses \Tfboe\FmLib\Entity\Helpers\NameEntity::getName |
|
| 59 | * @uses \Tfboe\FmLib\Entity\Traits\Team::getMemberships |
|
| 60 | */ |
|
| 61 | public function testConstructor() |
|
| 62 | { |
|
| 63 | $team = $this->team(); |
|
| 64 | self::assertInstanceOf(Team::class, $team); |
|
| 65 | self::assertInstanceOf(Collection::class, $team->getMemberships()); |
|
| 66 | self::assertEquals(0, $team->getMemberships()->count()); |
|
| 67 | self::assertEquals("", $team->getName()); |
|
| 68 | } |
|
| 69 | ||
| 70 | /** |
|
| 71 | * @covers \Tfboe\FmLib\Entity\Traits\Team::getMemberships |
|
| 72 | * @uses \Tfboe\FmLib\Entity\Traits\Team::init |
|
| 73 | */ |
|
| 74 | public function testPlayers() |
|
| 75 | { |
|
| 76 | $team = $this->team(); |
|
| 77 | /** @var TeamMembershipInterface $membership */ |
|
| 78 | $membership = $this->createStubWithId(TeamMembershipInterface::class, 1, 'getId'); |
|
| 79 | $team->getMemberships()->set($membership->getId(), $membership); |
|
| 80 | self::assertEquals(1, $team->getMemberships()->count()); |
|
| 81 | self::assertEquals($membership, $team->getMemberships()[$membership->getId()]); |
|
| 82 | } |
|
| 83 | ||
| 84 | /** |
|
| 85 | * @covers \Tfboe\FmLib\Entity\Traits\Team::setRank |
|
| 86 | * @covers \Tfboe\FmLib\Entity\Traits\Team::getRank |
|
| 87 | * @uses \Tfboe\FmLib\Entity\Traits\Team::init |
|
| 88 | */ |
|
| 89 | public function testRank() |
|
| 90 | { |
|
| 91 | $team = $this->team(); |
|
| 92 | $team->setRank(1); |
|
| 93 | self::assertEquals(1, $team->getRank()); |
|
| 94 | } |
|
| 95 | ||
| 96 | /** |
|
| 97 | * @covers \Tfboe\FmLib\Entity\Traits\Team::setStartNumber |
|
| 98 | * @covers \Tfboe\FmLib\Entity\Traits\Team::getStartNumber |
|
| 99 | * @uses \Tfboe\FmLib\Entity\Traits\Team::init |
|
| 100 | */ |
|
| 101 | public function testStartNumber() |
|
| 102 | { |
|
| 103 | $team = $this->team(); |
|
| 104 | $team->setStartNumber(1); |
|
| 105 | self::assertEquals(1, $team->getStartNumber()); |
|
| 106 | } |
|
| 107 | ||
| 108 | //</editor-fold desc="Public Methods"> |
|
| 109 | ||
| 110 | //<editor-fold desc="Private Methods"> |
|
| 111 | /** |
|
| 112 | * @return TeamInterface a new team |
|
| 113 | */ |
|
| 114 | private function team(): TeamInterface |
|
| 115 | { |
|
| 116 | return new Team(); |
|
| 117 | } |
|
| 118 | //</editor-fold desc="Private Methods"> |
|
| 119 | } |
|