Test Failed
Push — master ( 4486b3...16bdc1 )
by SignpostMarv
02:20
created

DataFeedItem::SetDateCreated()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 4
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 3
nc 1
nop 1
dl 0
loc 5
ccs 4
cts 4
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
<?php
2
/**
3
* @author SignpostMarv
4
*/
5
declare(strict_types=1);
6
7
namespace SignpostMarv\DaftObject\SchemaOrg\Intangible;
8
9
use SignpostMarv\DaftObject\SchemaOrg\DaftObjectTraits;
10
use SignpostMarv\DaftObject\SchemaOrg\DataTypes;
11
use SignpostMarv\DaftObject\SchemaOrg\Intangible as Base;
12
use SignpostMarv\DaftObject\SchemaOrg\Thing;
13
use SignpostMarv\DaftObject\SchemaOrg\TypeUtilities;
14
15
/**
16
* @property array<int, DataTypes\Date|DataTypes\DateTime> $dateCreated
17
* @property array<int, DataTypes\Date|DataTypes\DateTime> $dateDeleted
18
* @property array<int, DataTypes\Date|DataTypes\DateTime> $dateModified
19
* @property array<int, Thing> $item
20
*/
21
class DataFeedItem extends Base
22
{
23
    use DaftObjectTraits\DateCreatedModified;
24
    use DaftObjectTraits\Item;
25
26
    const SCHEMA_ORG_TYPE = 'DataFeedItem';
27
28
    const PROPERTIES = [
29
        'dateCreated',
30
        'dateDeleted',
31
        'dateModified',
32
        'item',
33
    ];
34
35
    const PROPERTIES_WITH_MULTI_TYPED_ARRAYS = [
36
        'dateCreated' => [
37
            DataTypes\Date::class,
38
            DataTypes\DateTime::class,
39
        ],
40
        'dateDeleted' => [
41
            DataTypes\Date::class,
42
            DataTypes\DateTime::class,
43
        ],
44
        'dateModified' => [
45
            DataTypes\Date::class,
46
            DataTypes\DateTime::class,
47
        ],
48
        'item' => [
49
            Thing::class,
50
        ],
51
    ];
52 5
53
    /**
54
    * @return array<int, DataTypes\Date|DataTypes\DateTime>
55
    */
56
    public function GetDateDeleted() : array
57 5
    {
58 5
        /**
59 5
        * @var array<int, DataTypes\Date|DataTypes\DateTime>
60 5
        */
61
        $out = TypeUtilities::ExpectRetrievedValueIsArray(
62
            'dateDeleted',
63 5
            $this->RetrievePropertyValueFromData('dateDeleted'),
64
            static::class
65
        );
66
67
        return $out;
68
    }
69 1
70
    /**
71 1
    * @param array<int, DataTypes\Date|DataTypes\DateTime> $value
72 1
    */
73 1
    public function SetDateDeleted(array $value) : void
74
    {
75 1
        $this->NudgePropertyValue(
76
            'dateDeleted',
77
            $value
78
        );
79
    }
80
}
81