DocumentUnitTest   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 35
Duplicated Lines 0 %

Importance

Changes 2
Bugs 1 Features 0
Metric Value
eloc 22
c 2
b 1
f 0
dl 0
loc 35
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A testConstructorAllAssignments() 0 20 1
A testConstructorRequiredAssignments() 0 11 1
1
<?php
2
3
namespace erasys\OpenApi\Tests\Spec;
4
5
use erasys\OpenApi\Spec\v3\Document;
6
use erasys\OpenApi\Spec\v3\ExtensibleInterface;
7
use erasys\OpenApi\Spec\v3\Info;
8
use erasys\OpenApi\Spec\v3\Tag;
9
use PHPUnit\Framework\TestCase;
10
11
class DocumentUnitTest extends TestCase
12
{
13
    public function testConstructorRequiredAssignments()
14
    {
15
        $info  = new Info('Foo Bar', 'v1');
16
        $paths = [];
17
18
        $obj = new Document($info, $paths);
19
20
        $this->assertInstanceOf(ExtensibleInterface::class, $obj);
21
        $this->assertSame($info, $obj->info);
22
        $this->assertSame($paths, $obj->paths);
23
        $this->assertEquals(Document::DEFAULT_OPENAPI_VERSION, $obj->openapi);
24
    }
25
26
    public function testConstructorAllAssignments()
27
    {
28
        $info       = new Info('Foo Bar', 'v1');
29
        $paths      = [];
30
        $openapi    = '3.0.3';
31
        $additional = [
32
            'openapi' => '3.0.0',
33
            'paths'   => [null],
34
            'tags'    => [
35
                new Tag('Foo'),
36
            ],
37
        ];
38
39
        $obj = new Document($info, $paths, $openapi, $additional);
40
41
        $this->assertInstanceOf(ExtensibleInterface::class, $obj);
42
        $this->assertSame($info, $obj->info);
43
        $this->assertSame($paths, $obj->paths);
44
        $this->assertEquals($openapi, $obj->openapi);
45
        $this->assertSame($additional['tags'], $obj->tags);
46
    }
47
}
48