@@ -59,7 +59,6 @@ public function invalidValueProvider() {
5959 return [
6060 "string " => ['test ' ],
6161 "int " => [1234 ],
62- "null " => [null ],
6362 ];
6463 }
6564
@@ -86,13 +85,17 @@ public function toStringProvider() {
8685 public function testKeys ()
8786 {
8887 $ values = EnumFixture::keys ();
89- $ this ->assertInternalType ("array " , $ values );
9088 $ expectedValues = array (
9189 "FOO " ,
9290 "BAR " ,
9391 "NUMBER " ,
92+ "PROBLEMATIC_NUMBER " ,
93+ "PROBLEMATIC_NULL " ,
94+ "PROBLEMATIC_EMPTY_STRING " ,
95+ "PROBLEMATIC_BOOLEAN_FALSE " ,
9496 );
95- $ this ->assertEquals ($ expectedValues , $ values );
97+
98+ $ this ->assertSame ($ expectedValues , $ values );
9699 }
97100
98101 /**
@@ -101,13 +104,17 @@ public function testKeys()
101104 public function testToArray ()
102105 {
103106 $ values = EnumFixture::toArray ();
104- $ this ->assertInternalType ("array " , $ values );
105107 $ expectedValues = array (
106- "FOO " => EnumFixture::FOO ,
107- "BAR " => EnumFixture::BAR ,
108- "NUMBER " => EnumFixture::NUMBER ,
108+ "FOO " => EnumFixture::FOO ,
109+ "BAR " => EnumFixture::BAR ,
110+ "NUMBER " => EnumFixture::NUMBER ,
111+ "PROBLEMATIC_NUMBER " => EnumFixture::PROBLEMATIC_NUMBER ,
112+ "PROBLEMATIC_NULL " => EnumFixture::PROBLEMATIC_NULL ,
113+ "PROBLEMATIC_EMPTY_STRING " => EnumFixture::PROBLEMATIC_EMPTY_STRING ,
114+ "PROBLEMATIC_BOOLEAN_FALSE " => EnumFixture::PROBLEMATIC_BOOLEAN_FALSE ,
109115 );
110- $ this ->assertEquals ($ expectedValues , $ values );
116+
117+ $ this ->assertSame ($ expectedValues , $ values );
111118 }
112119
113120 /**
@@ -132,11 +139,29 @@ public function testBadStaticAccess()
132139
133140 /**
134141 * isValid()
142+ * @dataProvider isValidProvider
135143 */
136- public function testIsValid ()
144+ public function testIsValid ($ value , $ isValid )
137145 {
138- $ this ->assertTrue (EnumFixture::isValid ('foo ' ));
139- $ this ->assertFalse (EnumFixture::isValid ('baz ' ));
146+ $ this ->assertSame ($ isValid , EnumFixture::isValid ($ value ));
147+ }
148+
149+ public function isValidProvider () {
150+ return [
151+ /**
152+ * Valid values
153+ */
154+ ['foo ' , true ],
155+ [42 , true ],
156+ [null , true ],
157+ [0 , true ],
158+ ['' , true ],
159+ [false , true ],
160+ /**
161+ * Invalid values
162+ */
163+ ['baz ' , false ]
164+ ];
140165 }
141166
142167 /**
@@ -154,6 +179,9 @@ public function testIsValidKey()
154179 public function testSearch ()
155180 {
156181 $ this ->assertEquals ('FOO ' , EnumFixture::search ('foo ' ));
157- $ this ->assertNotEquals ('FOO ' , EnumFixture::isValidKey ('baz ' ));
182+ /**
183+ * @see https://github.com/myclabs/php-enum/issues/9
184+ */
185+ $ this ->assertEquals (EnumFixture::PROBLEMATIC_NUMBER , EnumFixture::search (1 ));
158186 }
159187}
0 commit comments