|
1
|
|
|
<?php |
|
2
|
|
|
|
|
3
|
|
|
namespace Fhp\ResponseTest; |
|
4
|
|
|
|
|
5
|
|
|
use Fhp\Response\Response; |
|
6
|
|
|
|
|
7
|
|
|
class ResponseTest extends \PHPUnit_Framework_TestCase |
|
8
|
|
|
{ |
|
9
|
|
|
protected static function getMethod( $class, $name ) |
|
10
|
|
|
{ |
|
11
|
|
|
$class = new \ReflectionClass( $class ); |
|
12
|
|
|
$method = $class->getMethod( $name ); |
|
13
|
|
|
$method->setAccessible( TRUE ); |
|
14
|
|
|
|
|
15
|
|
|
return $method; |
|
16
|
|
|
} |
|
17
|
|
|
|
|
18
|
|
|
public function test_getter_and_setter() |
|
19
|
|
|
{ |
|
20
|
|
|
$response = self::getMethod( 'Fhp\Response\Response', 'splitSegment' ); |
|
21
|
|
|
|
|
22
|
|
|
$withoutEscape = new Response( '' ); |
|
23
|
|
|
$escaped = clone $withoutEscape; |
|
24
|
|
|
|
|
25
|
|
|
$segments = $response->invokeArgs( $withoutEscape, [ |
|
26
|
|
|
'HISAL:5:5:3+111111111::280:111111111+GiroBest+EUR+C:9999,99:EUR:20161018+C:0,:EUR:20161018+0,:EUR+9999,99:EUR', |
|
27
|
|
|
] ); |
|
28
|
|
|
|
|
29
|
|
|
$segmentsEscaped = $response->invokeArgs( $escaped, [ |
|
30
|
|
|
'HISAL:5:5:3+111111111::280:111111111+GiroBusiness?++EUR+C:9999,99:EUR:20161018+C:0,:EUR:20161018+0,:EUR+9999,99:EUR', |
|
31
|
|
|
] ); |
|
32
|
|
|
|
|
33
|
|
|
$this->assertEquals( 'HISAL:5:5:3', $segments[ 0 ] ); |
|
34
|
|
|
$this->assertEquals( '111111111::280:111111111', $segments[ 1 ] ); |
|
35
|
|
|
$this->assertEquals( 'GiroBest', $segments[ 2 ] ); |
|
36
|
|
|
$this->assertEquals( 'EUR', $segments[ 3 ] ); |
|
37
|
|
|
$this->assertEquals( 'C:9999,99:EUR:20161018', $segments[ 4 ] ); |
|
38
|
|
|
$this->assertEquals( 'C:0,:EUR:20161018', $segments[ 5 ] ); |
|
39
|
|
|
$this->assertEquals( '0,:EUR', $segments[ 6 ] ); |
|
40
|
|
|
$this->assertEquals( '9999,99:EUR', $segments[ 7 ] ); |
|
41
|
|
|
|
|
42
|
|
|
$this->assertEquals( 'HISAL:5:5:3', $segmentsEscaped[ 0 ] ); |
|
43
|
|
|
$this->assertEquals( '111111111::280:111111111', $segmentsEscaped[ 1 ] ); |
|
44
|
|
|
$this->assertEquals( 'GiroBusiness+', $segmentsEscaped[ 2 ] ); |
|
45
|
|
|
$this->assertEquals( 'EUR', $segmentsEscaped[ 3 ] ); |
|
46
|
|
|
$this->assertEquals( 'C:9999,99:EUR:20161018', $segmentsEscaped[ 4 ] ); |
|
47
|
|
|
$this->assertEquals( 'C:0,:EUR:20161018', $segmentsEscaped[ 5 ] ); |
|
48
|
|
|
$this->assertEquals( '0,:EUR', $segmentsEscaped[ 6 ] ); |
|
49
|
|
|
$this->assertEquals( '9999,99:EUR', $segmentsEscaped[ 7 ] ); |
|
50
|
|
|
} |
|
51
|
|
|
} |
|
52
|
|
|
|