Completed
Push — new-version ( dc0365...ed33c3 )
by Jeroen
02:38
created

GenderTest::testGenderEmptyFunction()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

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