Passed
Pull Request — main (#8)
by Alex
03:11 queued 01:35
created

PhoneNumberTest   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 56
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 21
dl 0
loc 56
rs 10
c 0
b 0
f 0
wmc 4

4 Methods

Rating   Name   Duplication   Size   Complexity  
A testGivenAValidPhoneNumberAValidVOIsReturned() 0 15 1
A testGivenTwoNotEqualPhoneNumbersByPrefixEqualReturnsFalse() 0 11 1
A testGivenTwoEqualPhoneNumbersEqualReturnsTrue() 0 11 1
A testGivenTwoNotEqualPhoneNumbersByNumberEqualReturnsFalse() 0 11 1
1
<?php
2
3
namespace StraTDeS\VO\Tests\Single;
4
5
use StraTDeS\VO\Single\PhoneNumber;
6
use PHPUnit\Framework\TestCase;
7
8
class PhoneNumberTest extends TestCase
9
{
10
    public function testGivenAValidPhoneNumberAValidVOIsReturned(): void
11
    {
12
        // Arrange
13
        $prefix = ' +34';
14
        $cleanedPrefix = '34';
15
        $number = ' 93 814 0000 ';
16
        $cleanedNumber = '938140000';
17
18
        // Act
19
        $phoneNumberVO = PhoneNumber::create($prefix, $number);
20
21
        // Assert
22
        $this->assertInstanceOf(PhoneNumber::class, $phoneNumberVO);
23
        $this->assertEquals($cleanedPrefix, $phoneNumberVO->prefix());
24
        $this->assertEquals($cleanedNumber, $phoneNumberVO->number());
25
    }
26
27
    public function testGivenTwoEqualPhoneNumbersEqualReturnsTrue(): void
28
    {
29
        // Arrange
30
        $phoneNumber1 = PhoneNumber::create("34", "938140000");
31
        $phoneNumber2 = PhoneNumber::create("34", "938140000");
32
33
        // Act
34
        $equal = $phoneNumber1->equal($phoneNumber2);
35
36
        // Assert
37
        $this->assertTrue($equal);
38
    }
39
40
    public function testGivenTwoNotEqualPhoneNumbersByPrefixEqualReturnsFalse(): void
41
    {
42
        // Arrange
43
        $phoneNumber1 = PhoneNumber::create("34", "938140000");
44
        $phoneNumber2 = PhoneNumber::create("53", "938140000");
45
46
        // Act
47
        $equal = $phoneNumber1->equal($phoneNumber2);
48
49
        // Assert
50
        $this->assertFalse($equal);
51
    }
52
53
    public function testGivenTwoNotEqualPhoneNumbersByNumberEqualReturnsFalse(): void
54
    {
55
        // Arrange
56
        $phoneNumber1 = PhoneNumber::create("34", "938140000");
57
        $phoneNumber2 = PhoneNumber::create("34", "933204444");
58
59
        // Act
60
        $equal = $phoneNumber1->equal($phoneNumber2);
61
62
        // Assert
63
        $this->assertFalse($equal);
64
    }
65
}
66