@@ -33,87 +33,86 @@ class NumberTest extends TestCase
3333 /**
3434 * @dataProvider provideFromString_success
3535 */
36- public function testFromString_success ($ number , $ expected )
36+ public function testFromString_success ($ number , $ expected, $ purpose )
3737 {
3838 $ this ->assertEquals ($ expected , Number::fromString ($ number ));
3939 }
4040
4141 public function provideFromString_success ()
4242 {
4343 return [
44- ["410321-9202 " , new Number ('410321920 ' , 2 )],
45- [4103219202 , new Number ('410321920 ' , 2 )],
46- ['89148000003974165685 ' , new Number ('8914800000397416568 ' , 5 )],
47- ['abc123 ' , new Number ('12 ' , 3 )],
48- // Use any number that is larger then PHP_INT_MAX.
49- [((string ) PHP_INT_MAX ).'21 ' , new Number (((string ) PHP_INT_MAX ).'2 ' , 1 )],
44+ ["410321-9202 " , new Number ('410321920 ' , 2 ), "String " ],
45+ [4103219202 , new Number ('410321920 ' , 2 ), "Integer " ],
46+ ['89148000003974165685 ' , new Number ('8914800000397416568 ' , 5 ), "Large number " ],
47+ ['abc123 ' , new Number ('12 ' , 3 ), "Character in string " ],
48+ ['922337203685477580721 ' , new Number ('92233720368547758072 ' , 1 ), "Larger than INT_MAX " ],
5049 ];
5150 }
5251
5352 /**
5453 * @dataProvider provideFromString_fail
5554 */
56- public function testFromString_fail ($ number , $ expected )
55+ public function testFromString_fail ($ number , $ expected, $ purpose )
5756 {
58- $ this ->expectException ($ expected );
57+ $ this ->expectException ($ expected, $ purpose );
5958 Number::fromString ($ number );
6059 }
6160
6261 public function provideFromString_fail ()
6362 {
6463 return [
65- ['' , \InvalidArgumentException::class],
66- ['xyz ' , \InvalidArgumentException::class],
64+ ['' , \InvalidArgumentException::class, " Empty string " ],
65+ ['xyz ' , \InvalidArgumentException::class, " Invalid string " ],
6766 ];
6867 }
6968
7069 /**
7170 * @dataProvider provideToString_success
7271 */
73- public function testToString_success ($ number , $ expected )
72+ public function testToString_success ($ number , $ expected, $ purpose )
7473 {
75- $ this ->assertEquals ($ expected , (string ) $ number );
74+ $ this ->assertEquals ($ expected , (string ) $ number, $ purpose );
7675 }
7776
7877 public function provideToString_success ()
7978 {
8079 return [
81- [new Number (12345 , 5 ), "123455 " ]
80+ [new Number (12345 , 5 ), "123455 " , " Valid number " ]
8281 ];
8382 }
8483
8584 /**
8685 * @dataProvider provideNew_fail
8786 */
88- public function testNew_fail ($ number , $ checkDigit , $ expected )
87+ public function testNew_fail ($ number , $ checkDigit , $ expected, $ purpose )
8988 {
90- $ this ->expectException ($ expected );
89+ $ this ->expectException ($ expected, $ purpose );
9190 new Number ($ number , $ checkDigit );
9291 }
9392
9493 public function provideNew_fail ()
9594 {
9695 return [
97- ['abc123 ' , 1 , \InvalidArgumentException::class],
98- ['123 ' , null , \InvalidArgumentException::class],
96+ ['abc123 ' , 1 , \InvalidArgumentException::class, " Invalid number " ],
97+ ['123 ' , null , \InvalidArgumentException::class, " Whitespace " ],
9998 ];
10099 }
101100
102101 /**
103102 * @dataProvider provideProperties
104103 */
105- public function testProperties ($ input , $ checkDigit )
104+ public function testProperties ($ input , $ checkDigit, $ purpose )
106105 {
107106 $ number = new Number ($ input , $ checkDigit );
108- $ this ->assertEquals ($ input , $ number ->getNumber ());
109- $ this ->assertEquals ($ checkDigit , $ number ->getCheckDigit ());
107+ $ this ->assertEquals ($ input , $ number ->getNumber (), $ purpose );
108+ $ this ->assertEquals ($ checkDigit , $ number ->getCheckDigit (), $ purpose );
110109 }
111110
112111 public function provideProperties ()
113112 {
114113 return [
115- [123 , 1 ],
116- [123 , null ],
114+ [123 , 1 , " Valid number and checkdigit " ],
115+ [123 , null , " Valid number and checkdigit (null) " ],
117116 ];
118117 }
119118}
0 commit comments