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
|
|
|
|