Code Coverage
 
Lines
Branches
Paths
Functions and Methods
Classes and Traits
Total
91.30% covered (success)
91.30%
21 / 23
87.50% covered (warning)
87.50%
14 / 16
87.50% covered (warning)
87.50%
14 / 16
87.50% covered (warning)
87.50%
14 / 16
CRAP
0.00% covered (danger)
0.00%
0 / 1
Word
91.30% covered (success)
91.30%
21 / 23
87.50% covered (warning)
87.50%
14 / 16
87.50% covered (warning)
87.50%
14 / 16
87.50% covered (warning)
87.50%
14 / 16
16.50
0.00% covered (danger)
0.00%
0 / 1
 __construct
100.00% covered (success)
100.00%
8 / 8
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getId
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getSlug
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setSlug
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getLabel
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setLabel
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getGender
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setGender
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getLang
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setLang
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getOffenseLevel
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setOffenseLevel
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getStatus
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 setStatus
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getCreatedAt
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
 setCreatedAt
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
0.00% covered (danger)
0.00%
0 / 1
2
1<?php
2
3namespace App\Entity;
4
5use App\Enum\Lang;
6use App\Enum\OffenseLevel;
7use App\Enum\WordGender;
8use App\Enum\WordStatus;
9use Doctrine\ORM\Mapping as ORM;
10
11/**
12 * @author Wilhelm Zwertvaegher
13 */
14#[ORM\Entity]
15#[ORM\Table(name: 'word')]
16#[ORM\UniqueConstraint(name: 'uq_word_slug_lang', columns: ['slug', 'lang'])]
17class Word
18{
19    #[ORM\Id]
20    #[ORM\GeneratedValue]
21    #[ORM\Column(type: 'integer')]
22    private ?int $id = null;
23
24    #[ORM\Column(type: 'string', length: 50)]
25    private string $slug;
26
27    #[ORM\Column(type: 'string', length: 50)]
28    private string $label;
29
30    #[ORM\Column(type: 'string', length: 10, enumType: WordGender::class)]
31    private WordGender $gender;
32
33    #[ORM\Column(type: 'string', length: 10, enumType: Lang::class)]
34    private Lang $lang;
35
36    #[ORM\Column(type: 'integer', length: 3, enumType: OffenseLevel::class)]
37    private OffenseLevel $offenseLevel;
38
39    #[ORM\Column(type: 'string', length: 10, enumType: WordStatus::class)]
40    private WordStatus $status;
41
42    #[ORM\Column(type: 'datetime_immutable')]
43    private \DateTimeImmutable $createdAt;
44
45    #[ORM\Column(type: 'datetime_immutable')]
46    private \DateTimeImmutable $updatedAt;
47
48    public function __construct(
49        string $slug,
50        string $label,
51        WordGender $gender,
52        Lang $lang,
53        OffenseLevel $offenseLevel,
54        WordStatus $status,
55        \DateTimeImmutable $createdAt,
56        \DateTimeImmutable $updatedAt,
57    ) {
58        $this->slug = $slug;
59        $this->label = $label;
60        $this->gender = $gender;
61        $this->lang = $lang;
62        $this->offenseLevel = $offenseLevel;
63        $this->status = $status;
64        $this->createdAt = $createdAt;
65        $this->updatedAt = $updatedAt;
66    }
67
68    public function getId(): ?int
69    {
70        return $this->id;
71    }
72
73    public function getSlug(): string
74    {
75        return $this->slug;
76    }
77
78    public function setSlug(string $slug): void
79    {
80        $this->slug = $slug;
81    }
82
83    public function getLabel(): string
84    {
85        return $this->label;
86    }
87
88    public function setLabel(string $label): void
89    {
90        $this->label = $label;
91    }
92
93    public function getGender(): WordGender
94    {
95        return $this->gender;
96    }
97
98    public function setGender(WordGender $gender): void
99    {
100        $this->gender = $gender;
101    }
102
103    public function getLang(): Lang
104    {
105        return $this->lang;
106    }
107
108    public function setLang(Lang $lang): void
109    {
110        $this->lang = $lang;
111    }
112
113    public function getOffenseLevel(): OffenseLevel
114    {
115        return $this->offenseLevel;
116    }
117
118    public function setOffenseLevel(OffenseLevel $offenseLevel): void
119    {
120        $this->offenseLevel = $offenseLevel;
121    }
122
123    public function getStatus(): WordStatus
124    {
125        return $this->status;
126    }
127
128    public function setStatus(WordStatus $status): void
129    {
130        $this->status = $status;
131    }
132
133    public function getCreatedAt(): \DateTimeImmutable
134    {
135        return $this->createdAt;
136    }
137
138    public function setCreatedAt(\DateTimeImmutable $createdAt): void
139    {
140        $this->createdAt = $createdAt;
141    }
142}

Paths

Below are the source code lines that represent each code path as identified by Xdebug. Please note a path is not necessarily coterminous with a line, a line may contain multiple paths and therefore show up more than once. Please also be aware that some paths may include implicit rather than explicit branches, e.g. an if statement always has an else as part of its logical flow even if you didn't write one.

Word->__construct
48    public function __construct(
49        string $slug,
50        string $label,
51        WordGender $gender,
52        Lang $lang,
53        OffenseLevel $offenseLevel,
54        WordStatus $status,
55        \DateTimeImmutable $createdAt,
56        \DateTimeImmutable $updatedAt,
57    ) {
58        $this->slug = $slug;
59        $this->label = $label;
60        $this->gender = $gender;
61        $this->lang = $lang;
62        $this->offenseLevel = $offenseLevel;
63        $this->status = $status;
64        $this->createdAt = $createdAt;
65        $this->updatedAt = $updatedAt;
66    }
Word->getCreatedAt
135        return $this->createdAt;
136    }
Word->getGender
95        return $this->gender;
96    }
Word->getId
70        return $this->id;
71    }
Word->getLabel
85        return $this->label;
86    }
Word->getLang
105        return $this->lang;
106    }
Word->getOffenseLevel
115        return $this->offenseLevel;
116    }
Word->getSlug
75        return $this->slug;
76    }
Word->getStatus
125        return $this->status;
126    }
Word->setCreatedAt
138    public function setCreatedAt(\DateTimeImmutable $createdAt): void
139    {
140        $this->createdAt = $createdAt;
141    }
Word->setGender
98    public function setGender(WordGender $gender): void
99    {
100        $this->gender = $gender;
101    }
Word->setLabel
88    public function setLabel(string $label): void
89    {
90        $this->label = $label;
91    }
Word->setLang
108    public function setLang(Lang $lang): void
109    {
110        $this->lang = $lang;
111    }
Word->setOffenseLevel
118    public function setOffenseLevel(OffenseLevel $offenseLevel): void
119    {
120        $this->offenseLevel = $offenseLevel;
121    }
Word->setSlug
78    public function setSlug(string $slug): void
79    {
80        $this->slug = $slug;
81    }
Word->setStatus
128    public function setStatus(WordStatus $status): void
129    {
130        $this->status = $status;
131    }