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

SegmentedValuesTest   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 24
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 13
c 0
b 0
f 0
dl 0
loc 24
rs 10
wmc 2

2 Methods

Rating   Name   Duplication   Size   Complexity  
A listWithMultipleSegments() 0 10 1
A listWithOneSegment() 0 8 1
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