Completed
Push — master ( a787fa...dc9af5 )
by Vincent
05:35
created

HasJsonApiAssert   A

Complexity

Total Complexity 1

Size/Duplication

Total Lines 39
Duplicated Lines 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
wmc 1
eloc 21
c 1
b 0
f 0
dl 0
loc 39
rs 10

1 Method

Rating   Name   Duplication   Size   Complexity  
A invalidArgument() 0 3 1
1
<?php
2
declare (strict_types = 1);
3
4
namespace VGirol\JsonApiAssert;
5
6
use VGirol\JsonApiAssert\Asserts\Content\AssertErrors;
7
use VGirol\JsonApiAssert\Asserts\Content\AssertInclude;
8
use VGirol\JsonApiAssert\Asserts\Content\AssertJsonapi;
9
use VGirol\JsonApiAssert\Asserts\Content\AssertLinks;
10
use VGirol\JsonApiAssert\Asserts\Content\AssertPagination;
11
use VGirol\JsonApiAssert\Asserts\Content\AssertResource;
12
use VGirol\JsonApiAssert\Asserts\Content\AssertResourceLinkage as AssertLinkage;
13
use VGirol\JsonApiAssert\Asserts\Structure\AssertArrays;
14
use VGirol\JsonApiAssert\Asserts\Structure\AssertAttributesObject;
15
use VGirol\JsonApiAssert\Asserts\Structure\AssertErrorsObject;
16
use VGirol\JsonApiAssert\Asserts\Structure\AssertJsonapiObject;
17
use VGirol\JsonApiAssert\Asserts\Structure\AssertLinksObject;
18
use VGirol\JsonApiAssert\Asserts\Structure\AssertMemberName;
19
use VGirol\JsonApiAssert\Asserts\Structure\AssertMembers;
20
use VGirol\JsonApiAssert\Asserts\Structure\AssertMetaObject;
21
use VGirol\JsonApiAssert\Asserts\Structure\AssertRelationshipsObject;
22
use VGirol\JsonApiAssert\Asserts\Structure\AssertResourceLinkage;
23
use VGirol\JsonApiAssert\Asserts\Structure\AssertResourceObject;
24
use VGirol\JsonApiAssert\Asserts\Structure\AssertStructure;
25
26
/**
27
 * This trait provide a set of assertions to test documents using the JSON:API specification.
28
 */
29
trait HasJsonApiAssert
30
{
31
    // Structure
32
    use AssertArrays;
33
    use AssertAttributesObject;
34
    use AssertErrorsObject;
35
    use AssertJsonapiObject;
36
    use AssertLinksObject;
37
    use AssertMemberName;
38
    use AssertMembers;
39
    use AssertMetaObject;
40
    use AssertRelationshipsObject;
41
    use AssertResourceLinkage;
42
    use AssertResourceObject;
43
    use AssertStructure;
44
45
    // Content
46
    use AssertLinks;
47
    use AssertJsonapi;
48
    use AssertPagination;
49
    use AssertResource;
50
    use AssertLinkage;
51
    use AssertErrors;
52
    use AssertInclude;
53
54
    /**
55
     * Throws an InvalidArgumentException because of an invalid argument passed to a method.
56
     *
57
     * @param integer $argument
58
     * @param string $type
59
     * @param mixed $value
60
     * @return void
61
     * @throws \VGirol\JsonApiAssert\InvalidArgumentException
62
     *
63
     * @SuppressWarnings(PHPMD.StaticAccess)
64
     */
65
    protected static function invalidArgument(int $argument, string $type, $value = null): void
66
    {
67
        throw InvalidArgumentHelper::factory($argument, $type, $value);
68
    }
69
}
70