|
1
|
|
|
<?php |
|
2
|
|
|
|
|
3
|
|
|
|
|
4
|
|
|
namespace AlgoWeb\xsdTypes; |
|
5
|
|
|
|
|
6
|
|
|
/** |
|
7
|
|
|
* Generated Test Class. |
|
8
|
|
|
*/ |
|
9
|
|
|
class xsDateTimeTest extends \PHPUnit_Framework_TestCase |
|
10
|
|
|
{ |
|
11
|
|
|
/** |
|
12
|
|
|
* Sets up the fixture, for example, opens a network connection. |
|
13
|
|
|
* This method is called before a test is executed. |
|
14
|
|
|
*/ |
|
15
|
|
|
protected function setUp() |
|
16
|
|
|
{ |
|
17
|
|
|
parent::setUp(); |
|
18
|
|
|
} |
|
19
|
|
|
|
|
20
|
|
|
/** |
|
21
|
|
|
* Tears down the fixture, for example, closes a network connection. |
|
22
|
|
|
* This method is called after a test is executed. |
|
23
|
|
|
*/ |
|
24
|
|
|
protected function tearDown() |
|
25
|
|
|
{ |
|
26
|
|
|
parent::tearDown(); |
|
27
|
|
|
} |
|
28
|
|
|
|
|
29
|
|
|
/** |
|
30
|
|
|
* @dataProvider testxsDateTimeValidDataProvider |
|
31
|
|
|
*/ |
|
32
|
|
View Code Duplication |
public function testxsDateTimeValid($input, $message) |
|
|
|
|
|
|
33
|
|
|
{ |
|
34
|
|
|
try { |
|
35
|
|
|
$d = new xsDateTime($input); |
|
36
|
|
|
$e = (string)$d; |
|
|
|
|
|
|
37
|
|
|
} catch (\Exception $e) { |
|
38
|
|
|
$this->fail($message . ' with Exception ' . $e->getMessage()); |
|
39
|
|
|
} |
|
40
|
|
|
} |
|
41
|
|
|
|
|
42
|
|
|
public function testxsDateTimeValidDataProvider() |
|
43
|
|
|
{ |
|
44
|
|
|
return array( |
|
45
|
|
|
array('2004-04-12T13:20:00', '1:20 pm on April 12, 2004'), |
|
46
|
|
|
array('2004-04-12T13:20:15.5', '1:20 pm and 15.5 seconds on April 12, 2004'), |
|
47
|
|
|
array('2004-04-12T13:20:00-05:00', '1:20 pm on April 12, 2004, US Eastern Standard Time'), |
|
48
|
|
|
array('2004-04-12T13:20:00Z', ' 1:20 pm on April 12, 2004, Coordinated Universal Time (UTC)'), |
|
49
|
|
|
); |
|
50
|
|
|
} |
|
51
|
|
|
|
|
52
|
|
|
/** |
|
53
|
|
|
* @dataProvider testxsDateTimeInvalidDataProvider |
|
54
|
|
|
*/ |
|
55
|
|
View Code Duplication |
public function testxsDateTimeInvalid($input, $message) |
|
|
|
|
|
|
56
|
|
|
{ |
|
57
|
|
|
try { |
|
58
|
|
|
$d = new xsDateTime($input); |
|
59
|
|
|
$s = (string)$d; |
|
60
|
|
|
$this->fail($message); |
|
61
|
|
|
} catch (\Exception $e) { |
|
|
|
|
|
|
62
|
|
|
} |
|
63
|
|
|
$this->assertEquals('', $s, $message); |
|
|
|
|
|
|
64
|
|
|
} |
|
65
|
|
|
|
|
66
|
|
|
public function testxsDateTimeInvalidDataProvider() |
|
67
|
|
|
{ |
|
68
|
|
|
return array( |
|
69
|
|
|
array('2004-04-12T13:00', 'seconds must be specified'), |
|
70
|
|
|
array('2004-04-1213:20:00', 'the letter T is required'), |
|
71
|
|
|
array('99-04-12T13:00', 'the century must not be left truncated'), |
|
72
|
|
|
array('2004-04-12', 'the time is required'), |
|
73
|
|
|
array('', 'an empty value is not valid, unless xsi:nil is used'), |
|
74
|
|
|
); |
|
75
|
|
|
} |
|
76
|
|
|
} |
|
77
|
|
|
|
Duplicated code is one of the most pungent code smells. If you need to duplicate the same code in three or more different places, we strongly encourage you to look into extracting the code into a single class or operation.
You can also find more detailed suggestions in the “Code” section of your repository.