EndOfCentralDirectoryTest   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 56
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 2

Importance

Changes 0
Metric Value
dl 0
loc 56
rs 10
c 0
b 0
f 0
wmc 1
lcom 0
cbo 2

1 Method

Rating   Name   Duplication   Size   Complexity  
A testImmutability() 0 53 1
1
<?php
2
3
namespace morgue\zip;
4
5
use PHPUnit\Framework\TestCase;
6
7
final class EndOfCentralDirectoryTest extends TestCase
8
{
9
    public function testImmutability()
10
    {
11
        $old = new EndOfCentralDirectory(0,0,0,0,0,0);
12
        $number = 12345;
13
14
        $new = $old->setNumberOfThisDisk($number);
15
        $this->assertNotSame($old, $new);
16
        $this->assertNotSame($old->getNumberOfThisDisk(), $new->getNumberOfThisDisk());
17
        $this->assertSame($number, $new->getNumberOfThisDisk());
18
        $old = $new;
19
        $number += 123;
20
21
        $new = $old->setNumberOfTheDiskWithTheStartOfTheCentralDirectory($number);
22
        $this->assertNotSame($old, $new);
23
        $this->assertNotSame($old->getNumberOfTheDiskWithTheStartOfTheCentralDirectory(), $new->getNumberOfTheDiskWithTheStartOfTheCentralDirectory());
24
        $this->assertSame($number, $new->getNumberOfTheDiskWithTheStartOfTheCentralDirectory());
25
        $old = $new;
26
        $number += 123;
27
28
        $new = $old->setTotalNumberOfEntriesInTheCentralDirectoryOnThisDisk($number);
29
        $this->assertNotSame($old, $new);
30
        $this->assertNotSame($old->getTotalNumberOfEntriesInTheCentralDirectoryOnThisDisk(), $new->getTotalNumberOfEntriesInTheCentralDirectoryOnThisDisk());
31
        $this->assertSame($number, $new->getTotalNumberOfEntriesInTheCentralDirectoryOnThisDisk());
32
        $old = $new;
33
        $number += 123;
34
35
        $new = $old->setTotalNumberOfEntriesInTheCentralDirectory($number);
36
        $this->assertNotSame($old, $new);
37
        $this->assertNotSame($old->getTotalNumberOfEntriesInTheCentralDirectory(), $new->getTotalNumberOfEntriesInTheCentralDirectory());
38
        $this->assertSame($number, $new->getTotalNumberOfEntriesInTheCentralDirectory());
39
        $old = $new;
40
        $number += 123;
41
42
        $new = $old->setSizeOfTheCentralDirectory($number);
43
        $this->assertNotSame($old, $new);
44
        $this->assertNotSame($old->getSizeOfTheCentralDirectory(), $new->getSizeOfTheCentralDirectory());
45
        $this->assertSame($number, $new->getSizeOfTheCentralDirectory());
46
        $old = $new;
47
        $number += 123;
48
49
        $new = $old->setOffsetOfStartOfCentralDirectoryWithRespectToTheStartingDiskNumber($number);
50
        $this->assertNotSame($old, $new);
51
        $this->assertNotSame($old->getOffsetOfStartOfCentralDirectoryWithRespectToTheStartingDiskNumber(), $new->getOffsetOfStartOfCentralDirectoryWithRespectToTheStartingDiskNumber());
52
        $this->assertSame($number, $new->getOffsetOfStartOfCentralDirectoryWithRespectToTheStartingDiskNumber());
53
        $old = $new;
54
55
        $fileComment = "a comment";
56
        $new = $old->setZipFileComment($fileComment);
57
        $this->assertNotSame($old, $new);
58
        $this->assertNotSame($old->getZipFileComment(), $new->getZipFileComment());
59
        $this->assertSame($fileComment, $new->getZipFileComment());
60
        $this->assertSame(\strlen($fileComment), $new->getZipFileCommentLength());
61
    }
62
}
63