CharacterSpecialSkillTest   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 3
eloc 25
c 1
b 0
f 0
dl 0
loc 39
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A testGetValues() 0 15 1
A testGetLevel() 0 9 1
A testGetSkillType() 0 9 1
1
<?php
2
declare(strict_types=1);
3
4
namespace HeroesofAbenez\Combat;
5
6
require __DIR__ . "/../../bootstrap.php";
7
8
use Tester\Assert;
9
10
/**
11
 * @author Jakub Konečný
12
 * @testCase
13
 */
14
final class CharacterSpecialSkillTest extends \Tester\TestCase
15
{
16
    public function testGetSkillType(): void
17
    {
18
        $skillData = [
19
            "id" => 1, "name" => "Skill Special", "levels" => 5, "type" => SkillSpecial::TYPE_BUFF, "duration" => 3,
20
            "target" => SkillSpecial::TARGET_SELF, "stat" => Character::STAT_DAMAGE, "value" => 10, "valueGrowth" => 2,
21
        ];
22
        $skill = new SkillSpecial($skillData);
23
        $characterSkill = new CharacterSpecialSkill($skill, 1);
24
        Assert::same("special", $characterSkill->skillType);
25
    }
26
27
    public function testGetLevel(): void
28
    {
29
        $skillData = [
30
            "id" => 1, "name" => "Skill Special", "levels" => 5, "type" => SkillSpecial::TYPE_BUFF, "duration" => 3,
31
            "target" => SkillSpecial::TARGET_SELF, "stat" => Character::STAT_DAMAGE, "value" => 10, "valueGrowth" => 2,
32
        ];
33
        $skill = new SkillSpecial($skillData);
34
        $characterSkill = new CharacterSpecialSkill($skill, 1);
35
        Assert::same(1, $characterSkill->level);
36
    }
37
38
    public function testGetValues(): void
39
    {
40
        $skillData = [
41
            "id" => 1, "name" => "Skill Special", "levels" => 5, "type" => SkillSpecial::TYPE_BUFF, "duration" => 3,
42
            "target" => SkillSpecial::TARGET_SELF, "stat" => Character::STAT_DAMAGE, "value" => 10, "valueGrowth" => 2,
43
        ];
44
        $skill = new SkillSpecial($skillData);
45
        $characterSkill = new CharacterSpecialSkill($skill, 1);
46
        Assert::same(10, $characterSkill->value);
47
        $characterSkill = new CharacterSpecialSkill($skill, 5);
48
        Assert::same(18, $characterSkill->value);
49
        $skillData["type"] = SkillSpecial::TYPE_STUN;
50
        $skill = new SkillSpecial($skillData);
51
        $characterSkill = new CharacterSpecialSkill($skill, 1);
52
        Assert::same(0, $characterSkill->value);
53
    }
54
}
55
56
$test = new CharacterSpecialSkillTest();
57
$test->run();
58