Passed
Branch 2.0.0-dev (b7b9ad)
by Jeroen
02:54
created

GenderTest::testGenderFemaleFunction()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 3
nc 1
nop 0
dl 0
loc 6
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
namespace JeroenDesloovere\Tests\VCard\Property;
4
5
use JeroenDesloovere\VCard\Property\Gender;
6
use PHPUnit\Framework\TestCase;
7
8
/**
9
 * How to execute all tests: `vendor/bin/phpunit tests`
10
 */
11
final class GenderTest extends TestCase
12
{
13
    /**
14
     * @expectedException \JeroenDesloovere\VCard\Exception\PropertyException
15
     * @expectedExceptionMessage The given value "False Gender" is not allowed.
16
     * Possible values are: "", "F", "M", "N", "O", "U"
17
     */
18
    public function testGenderFalseGender(): void
19
    {
20
        new Gender('False Gender');
21
    }
22
23
    public function testGenderFemale(): void
24
    {
25
        $gender = new Gender('F');
26
27
        $this->assertTrue($gender->isFemale());
28
        $this->assertEquals('F', $gender->__toString());
29
    }
30
31
    public function testGenderMale(): void
32
    {
33
        $gender = new Gender('M');
34
35
        $this->assertTrue($gender->isMale());
36
        $this->assertEquals('M', $gender->__toString());
37
    }
38
39
    public function testGenderNone(): void
40
    {
41
        $gender = new Gender('N');
42
43
        $this->assertTrue($gender->isNone());
44
        $this->assertEquals('N', $gender->__toString());
45
    }
46
47
    public function testGenderOther(): void
48
    {
49
        $gender = new Gender('O');
50
51
        $this->assertTrue($gender->isOther());
52
        $this->assertEquals('O', $gender->__toString());
53
    }
54
55
    public function testGenderUnknown(): void
56
    {
57
        $gender = new Gender('U');
58
59
        $this->assertTrue($gender->isUnknown());
60
        $this->assertEquals('U', $gender->__toString());
61
    }
62
63
    public function testGenderEmptyFunction(): void
64
    {
65
        $gender = Gender::empty('It\'s complicated');
66
67
        $this->assertTrue($gender->isEmpty());
68
        $this->assertEquals('', $gender->getValue());
69
    }
70
71
    public function testGenderFemaleFunction(): void
72
    {
73
        $gender = Gender::female();
74
75
        $this->assertTrue($gender->isFemale());
76
        $this->assertEquals('F', $gender->__toString());
77
    }
78
79
    public function testGenderMaleFunction(): void
80
    {
81
        $gender = Gender::male();
82
83
        $this->assertTrue($gender->isMale());
84
        $this->assertEquals('M', $gender->__toString());
85
    }
86
87
    public function testGenderNoneFunction(): void
88
    {
89
        $gender = Gender::none();
90
91
        $this->assertTrue($gender->isNone());
92
        $this->assertEquals('N', $gender->__toString());
93
    }
94
95
    public function testGenderOtherFunction(): void
96
    {
97
        $gender = Gender::other();
98
99
        $this->assertTrue($gender->isOther());
100
        $this->assertEquals('O', $gender->__toString());
101
    }
102
103
    public function testGenderUnknownFunction(): void
104
    {
105
        $gender = Gender::unknown();
106
107
        $this->assertTrue($gender->isUnknown());
108
        $this->assertEquals('U', $gender->__toString());
109
    }
110
}
111