Passed
Push — master ( 13ac76...f27e95 )
by Chema
12:22 queued 12s
created

SegmentedValuesTest::listWithOneSegment()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 8
Code Lines 5

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 5
c 0
b 0
f 0
nc 1
nop 0
dl 0
loc 8
rs 10
1
<?php
2
3
declare(strict_types=1);
4
5
namespace EdifactParser\Tests\Unit;
6
7
use EDI\Parser;
8
use EdifactParser\SegmentedValues;
9
use EdifactParser\Segments\CNTControl;
10
use EdifactParser\Segments\UNHMessageHeader;
11
use PHPUnit\Framework\TestCase;
12
13
final class SegmentedValuesTest extends TestCase
14
{
15
    /** @test */
16
    public function listWithOneSegment(): void
17
    {
18
        $fileContent = "UNH+1+IFTMIN:S:93A:UN:PN001'";
19
        $values = SegmentedValues::factory()->fromRaw((new Parser($fileContent))->get());
20
21
        self::assertEquals([
22
            new UNHMessageHeader(['UNH', '1', ['IFTMIN', 'S', '93A', 'UN', 'PN001']]),
23
        ], $values->list());
24
    }
25
26
    /** @test */
27
    public function listWithMultipleSegments(): void
28
    {
29
        $fileContent = "UNH+1+IFTMIN:S:1A:UN:P1'\nUNH+2+IFTMIN:R:2A:UN:P2'\nCNT+7:0.1:KGM'";
30
        $values = SegmentedValues::factory()->fromRaw((new Parser($fileContent))->get());
31
32
        self::assertEquals([
33
            new UNHMessageHeader(['UNH', '1', ['IFTMIN', 'S', '1A', 'UN', 'P1']]),
34
            new UNHMessageHeader(['UNH', '2', ['IFTMIN', 'R', '2A', 'UN', 'P2']]),
35
            new CNTControl(['CNT', ['7', '0.1', 'KGM']]),
36
        ], $values->list());
37
    }
38
}
39