NormalizedAddress::getId()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 1
nc 1
nop 0
dl 0
loc 3
ccs 2
cts 2
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
<?php
2
3
/**
4
 * This file is part of RussianPost SDK package.
5
 *
6
 * © Appwilio (http://appwilio.com), JhaoDa (https://github.com/jhaoda)
7
 *
8
 * For the full copyright and license information, please view the LICENSE
9
 * file that was distributed with this source code.
10
 */
11
12
declare(strict_types=1);
13
14
namespace Appwilio\RussianPostSDK\Dispatching\Endpoints\Services\Entities;
15
16
use Appwilio\RussianPostSDK\Dispatching\Enum\AddressType;
17
use Appwilio\RussianPostSDK\Dispatching\Enum\AddressQuality;
18
use Appwilio\RussianPostSDK\Dispatching\Enum\AddressValidity;
19
use Appwilio\RussianPostSDK\Dispatching\Entities\AbstractAddress;
20
21
final class NormalizedAddress extends AbstractAddress
22
{
23 1
    public function getId(): string
24
    {
25 1
        return $this->get('id');
26
    }
27
28 1
    public function getOriginalAddress(): string
29
    {
30 1
        return $this->get('original-address');
31
    }
32
33 1
    public function getAddressType(): AddressType
34
    {
35 1
        return new AddressType($this->get('address-type'));
36
    }
37
38 13
    public function getQualityCode(): AddressQuality
39
    {
40 13
        return new AddressQuality($this->get('quality-code'));
41
    }
42
43 13
    public function getValidationCode(): AddressValidity
44
    {
45 13
        return new AddressValidity($this->get('validation-code'));
46
    }
47
48 12
    public function isUseful(): bool
49
    {
50
        return
51 12
            \in_array($this->getQualityCode(), AddressQuality::ACCEPTABLE_OPTIONS())
52
            &&
53 12
            \in_array($this->getValidationCode(), AddressValidity::ACCEPTABLE_OPTIONS());
54
    }
55
56 12
    public function isUnuseful(): bool
57
    {
58 12
        return ! $this->isUseful();
59
    }
60
}
61