testTournamentHierarchyEntity()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 8

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
nc 1
nop 0
dl 0
loc 8
rs 10
c 0
b 0
f 0
1
<?php
2
declare(strict_types=1);
3
/**
4
 * Created by PhpStorm.
5
 * User: benedikt
6
 * Date: 1/3/18
7
 * Time: 10:39 AM
8
 */
9
10
namespace Tfboe\FmLib\Tests\Unit\Entity\Traits;
11
12
13
use Tfboe\FmLib\Entity\Helpers\TournamentHierarchyEntity;
14
use Tfboe\FmLib\Entity\RankingSystemChangeInterface;
15
use Tfboe\FmLib\Entity\RankingSystemInterface;
16
use Tfboe\FmLib\Tests\Entity\Player;
17
use Tfboe\FmLib\Tests\Entity\RankingSystem;
18
use Tfboe\FmLib\Tests\Entity\RankingSystemChange;
19
use Tfboe\FmLib\Tests\Helpers\UnitTestCase;
20
21
22
/**
23
 * Class BaseEntityChangeTest
24
 * @package Tfboe\FmLib\Tests\Unit\Entity\Helpers
25
 * @SuppressWarnings(PHPMD.TooManyPublicMethods)
26
 */
27
class RankingSystemChangeTest extends UnitTestCase
28
{
29
//<editor-fold desc="Public Methods">
30
31
  /**
32
   * @covers \Tfboe\FmLib\Entity\Traits\RankingSystemChange::init
33
   * @uses   \Tfboe\FmLib\Entity\Helpers\SubClassData::initSubClassData
34
   */
35
  public function testConstructor()
36
  {
37
    $entity = $this->instance();
38
    self::assertInstanceOf(RankingSystemChange::class, $entity);
39
  }
40
41
  /**
42
   * @covers \Tfboe\FmLib\Entity\Traits\RankingSystemChange::init
43
   * @uses   \Tfboe\FmLib\Entity\Helpers\SubClassData::initSubClassData
44
   * @uses   \Tfboe\FmLib\Entity\Helpers\SubClassData::hasProperty
45
   */
46
  public function testConstructorWithAdditionalKeys()
47
  {
48
    $entity = new RankingSystemChange(["key"]);
49
    self::assertTrue($entity->hasProperty("key"));
50
    self::assertFalse($entity->hasProperty("other"));
51
  }
52
53
  /**
54
   * @covers \Tfboe\FmLib\Entity\Traits\RankingSystemChange::getPlayer
55
   * @covers \Tfboe\FmLib\Entity\Traits\RankingSystemChange::setPlayer
56
   * @uses   \Tfboe\FmLib\Entity\Traits\RankingSystemChange::init
57
   * @uses   \Tfboe\FmLib\Entity\Helpers\SubClassData::initSubClassData
58
   */
59 View Code Duplication
  public function testPlayer()
0 ignored issues
show
Duplication introduced by
This method seems to be duplicated in your project.

Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.

You can also find more detailed suggestions in the “Code” section of your repository.

Loading history...
60
  {
61
    $entity = $this->instance();
62
    /** @var \Tfboe\FmLib\Tests\Entity\Player $player */
63
    $player = $this->createMock(Player::class);
64
    $entity->setPlayer($player);
65
    self::assertEquals($player, $entity->getPlayer());
66
  }
67
68
  /**
69
   * @covers \Tfboe\FmLib\Entity\Traits\RankingSystemChange::setPointsAfterwards
70
   * @covers \Tfboe\FmLib\Entity\Traits\RankingSystemChange::getPointsAfterwards
71
   * @uses   \Tfboe\FmLib\Entity\Helpers\SubClassData::initSubClassData
72
   * @uses   \Tfboe\FmLib\Entity\Traits\RankingSystemChange::init
73
   */
74
  public function testPointsAfterwards()
75
  {
76
    $entity = $this->instance();
77
    $points = 24.333;
78
    $entity->setPointsAfterwards($points);
79
    self::assertEquals($points, $entity->getPointsAfterwards());
80
  }
81
82
  /**
83
   * @covers \Tfboe\FmLib\Entity\Traits\RankingSystemChange::setPointsChange
84
   * @covers \Tfboe\FmLib\Entity\Traits\RankingSystemChange::getPointsChange
85
   * @uses   \Tfboe\FmLib\Entity\Helpers\SubClassData::initSubClassData
86
   * @uses   \Tfboe\FmLib\Entity\Traits\RankingSystemChange::init
87
   */
88
  public function testPointsChange()
89
  {
90
    $entity = $this->instance();
91
    $points = 24.333;
92
    $entity->setPointsChange($points);
93
    self::assertEquals($points, $entity->getPointsChange());
94
  }
95
96
  /**
97
   * @covers \Tfboe\FmLib\Entity\Traits\RankingSystemChange::setRankingSystem
98
   * @covers \Tfboe\FmLib\Entity\Traits\RankingSystemChange::getRankingSystem
99
   * @uses   \Tfboe\FmLib\Entity\Helpers\SubClassData::initSubClassData
100
   * @uses   \Tfboe\FmLib\Entity\Traits\RankingSystemChange::init
101
   */
102
  public function testRankingSystem()
103
  {
104
    $entity = $this->instance();
105
    /** @var RankingSystemInterface $rankingSystem */
106
    $rankingSystem = $this->createMock(RankingSystem::class);
107
    $entity->setRankingSystem($rankingSystem);
108
    self::assertEquals($rankingSystem, $entity->getRankingSystem());
109
  }
110
111
  /**
112
   * @covers \Tfboe\FmLib\Entity\Traits\RankingSystemChange::setHierarchyEntity
113
   * @covers \Tfboe\FmLib\Entity\Traits\RankingSystemChange::getHierarchyEntity
114
   * @uses   \Tfboe\FmLib\Entity\Helpers\SubClassData::initSubClassData
115
   * @uses   \Tfboe\FmLib\Entity\Traits\RankingSystemChange::init
116
   */
117
  public function testTournamentHierarchyEntity()
118
  {
119
    $entity = $this->instance();
120
    /** @var TournamentHierarchyEntity $tEntity */
121
    $tEntity = $this->createMock(TournamentHierarchyEntity::class);
122
    $entity->setHierarchyEntity($tEntity);
123
    self::assertEquals($tEntity, $entity->getHierarchyEntity());
124
  }
125
//</editor-fold desc="Public Methods">
126
127
//<editor-fold desc="Private Methods">
128
  /**
129
   * @return RankingSystemChangeInterface
130
   */
131
  private function instance(): RankingSystemChangeInterface
132
  {
133
    return new RankingSystemChange([]);
134
  }
135
//</editor-fold desc="Private Methods">
136
}