Completed
Push — master ( 4b9e83...e55368 )
by Joshua
11s
created

PhoneNumberTest::testUnserialize()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 7
rs 9.4285
c 0
b 0
f 0
cc 1
eloc 4
nc 1
nop 0
1
<?php
2
3
namespace libphonenumber\Tests\core;
4
5
use libphonenumber\CountryCodeSource;
6
use libphonenumber\PhoneNumber;
7
8
/**
9
 * Tests for the PhoneNumber object itself.
10
 */
11
class PhoneNumberTest extends \PHPUnit_Framework_TestCase
12
{
13
    public function testEqualSimpleNumber()
14
    {
15
        $numberA = new PhoneNumber();
16
        $numberA->setCountryCode(1)->setNationalNumber(6502530000);
17
18
        $numberB = new PhoneNumber();
19
        $numberB->setCountryCode(1)->setNationalNumber(6502530000);
20
21
        $this->assertEquals($numberA, $numberB);
22
    }
23
24
    public function testEqualWithItalianLeadingZeroSetToDefault()
25
    {
26
        $numberA = new PhoneNumber();
27
        $numberA->setCountryCode(1)->setNationalNumber(6502530000)->setItalianLeadingZero(false);
28
29
        $numberB = new PhoneNumber();
30
        $numberB->setCountryCode(1)->setNationalNumber(6502530000);
31
32
        // These should still be equal, since the default value for this field is false.
33
        $this->assertEquals($numberA, $numberB);
34
    }
35
36
    public function testEqualWithCountryCodeSourceSet()
37
    {
38
        $numberA = new PhoneNumber();
39
        $numberA->setRawInput("+1 650 253 00 00")->setCountryCode(CountryCodeSource::FROM_NUMBER_WITH_PLUS_SIGN);
40
41
        $numberB = new PhoneNumber();
42
        $numberB->setRawInput("+1 650 253 00 00")->setCountryCode(CountryCodeSource::FROM_NUMBER_WITH_PLUS_SIGN);
43
44
        $this->assertEquals($numberA, $numberB);
45
    }
46
47
    public function testNonEqualWithItalianLeadingZeroSetToTrue()
48
    {
49
        $numberA = new PhoneNumber();
50
        $numberA->setCountryCode(1)->setNationalNumber(6502530000)->setItalianLeadingZero(true);
51
52
        $numberB = new PhoneNumber();
53
        $numberB->setCountryCode(1)->setNationalNumber(6502530000);
54
55
        $this->assertNotEquals($numberA, $numberB);
56
        $this->assertFalse($numberA->equals($numberB));
57
    }
58
59
    public function testNonEqualWithDifferingRawInput()
60
    {
61
        $numberA = new PhoneNumber();
62
        $numberA->setCountryCode(1)
63
            ->setNationalNumber(6502530000)
64
            ->setRawInput("+1 650 253 00 00")
65
            ->setCountryCodeSource(CountryCodeSource::FROM_NUMBER_WITH_PLUS_SIGN);
66
67
        $numberB = new PhoneNumber();
68
        $numberB->setCountryCode(1)
69
            ->setNationalNumber(6502530000)
70
            ->setRawInput("+1-650-253-00-00")
71
            ->setCountryCodeSource(CountryCodeSource::FROM_NUMBER_WITH_PLUS_SIGN);
72
73
        $this->assertNotEquals($numberA, $numberB);
74
        $this->assertFalse($numberA->equals($numberB));
75
    }
76
77
    public function testNonEqualWithPreferredDomesticCarrierCodeSetToDefault()
78
    {
79
        $numberA = new PhoneNumber();
80
        $numberA->setCountryCode(1)->setNationalNumber(6502530000)->setPreferredDomesticCarrierCode("");
81
82
        $numberB = new PhoneNumber();
83
        $numberB->setCountryCode(1)->setNationalNumber(6502530000);
84
85
        $this->assertNotSame($numberA, $numberB);
86
        $this->assertFalse($numberA->equals($numberB));
87
    }
88
89
    public function testEqualWithPreferredDomesticCarrierCodeSetToDefault()
90
    {
91
        $numberA = new PhoneNumber();
92
        $numberA->setCountryCode(1)->setNationalNumber(6502530000)->setPreferredDomesticCarrierCode("");
93
94
        $numberB = new PhoneNumber();
95
        $numberB->setCountryCode(1)->setNationalNumber(6502530000)->setPreferredDomesticCarrierCode("");
96
97
        $this->assertEquals($numberA, $numberB);
98
    }
99
100
    public function testUnserialize()
101
    {
102
        $numberA = new PhoneNumber();
103
        $numberB = new PhoneNumber();
104
105
        $this->assertEquals($numberA, \unserialize(\serialize($numberB)));
106
    }
107
}
108