Code Duplication    Length = 96-96 lines in 2 locations

tests/Unit/Entity/Traits/RankingTest.php 1 location

@@ 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
}

tests/Unit/Entity/Traits/TeamTest.php 1 location

@@ 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
}