XML2ArrayTest   A
last analyzed

Complexity

Total Complexity 6

Size/Duplication

Total Lines 67
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Importance

Changes 0
Metric Value
dl 0
loc 67
rs 10
c 0
b 0
f 0
wmc 6
lcom 0
cbo 2

6 Methods

Rating   Name   Duplication   Size   Complexity  
A provideInvalidObjects() 0 6 1
A provideInvalidTypes() 0 10 1
A provideInvalidXML() 0 7 1
A testXMLFileToArrayRejectsInvalidObjects() 0 4 1
A testXMLFileToArrayRejectsInvalidTypes() 0 4 1
A testXMLFileToArrayRejectsInvalidXML() 0 4 1
1
<?php
2
3
namespace LaLit;
4
5
class XML2ArrayTest extends \PHPUnit_Framework_TestCase
6
{
7
    public function provideInvalidObjects()
8
    {
9
        return [
10
            [new \stdClass()],
11
        ];
12
    }
13
14
    public function provideInvalidTypes()
15
    {
16
        return [
17
            [0],
18
            [1.1],
19
            [null],
20
            [true],
21
            [false],
22
        ];
23
    }
24
25
    public function provideInvalidXML()
26
    {
27
        return [
28
            ['<?xml version="1.0" encoding="UTF-8"?><root>'],
29
            ['<?xml version="1.0" encoding="UTF-8"?><root><head>'],
30
        ];
31
    }
32
33
    /**
34
     * @param object $invalidObject
35
     *
36
     * @throws \Exception
37
     * @expectedException \Exception
38
     * @expectedExceptionMessage [XML2Array] The input XML object should be of type: DOMDocument.
39
     * @dataProvider provideInvalidObjects
40
     */
41
    public function testXMLFileToArrayRejectsInvalidObjects($invalidObject)
42
    {
43
        XML2Array::createArray($invalidObject);
44
    }
45
46
    /**
47
     * @param mixed $invalidType
48
     *
49
     * @throws \Exception
50
     * @expectedException \Exception
51
     * @expectedExceptionMessage [XML2Array] Invalid input
52
     * @dataProvider provideInvalidTypes
53
     */
54
    public function testXMLFileToArrayRejectsInvalidTypes($invalidType)
55
    {
56
        XML2Array::createArray($invalidType);
57
    }
58
59
    /**
60
     * @param string $invalidXML
61
     *
62
     * @throws \Exception
63
     * @expectedException \Exception
64
     * @expectedExceptionMessage [XML2Array] Error parsing the XML string.
65
     * @dataProvider provideInvalidXML
66
     */
67
    public function testXMLFileToArrayRejectsInvalidXML($invalidXML)
68
    {
69
        XML2Array::createArray($invalidXML);
70
    }
71
}
72