@@ -59,7 +59,6 @@ public function invalidValueProvider() {
59
59
return [
60
60
"string " => ['test ' ],
61
61
"int " => [1234 ],
62
- "null " => [null ],
63
62
];
64
63
}
65
64
@@ -86,13 +85,17 @@ public function toStringProvider() {
86
85
public function testKeys ()
87
86
{
88
87
$ values = EnumFixture::keys ();
89
- $ this ->assertInternalType ("array " , $ values );
90
88
$ expectedValues = array (
91
89
"FOO " ,
92
90
"BAR " ,
93
91
"NUMBER " ,
92
+ "PROBLEMATIC_NUMBER " ,
93
+ "PROBLEMATIC_NULL " ,
94
+ "PROBLEMATIC_EMPTY_STRING " ,
95
+ "PROBLEMATIC_BOOLEAN_FALSE " ,
94
96
);
95
- $ this ->assertEquals ($ expectedValues , $ values );
97
+
98
+ $ this ->assertSame ($ expectedValues , $ values );
96
99
}
97
100
98
101
/**
@@ -101,13 +104,17 @@ public function testKeys()
101
104
public function testToArray ()
102
105
{
103
106
$ values = EnumFixture::toArray ();
104
- $ this ->assertInternalType ("array " , $ values );
105
107
$ 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 ,
109
115
);
110
- $ this ->assertEquals ($ expectedValues , $ values );
116
+
117
+ $ this ->assertSame ($ expectedValues , $ values );
111
118
}
112
119
113
120
/**
@@ -132,11 +139,29 @@ public function testBadStaticAccess()
132
139
133
140
/**
134
141
* isValid()
142
+ * @dataProvider isValidProvider
135
143
*/
136
- public function testIsValid ()
144
+ public function testIsValid ($ value , $ isValid )
137
145
{
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
+ ];
140
165
}
141
166
142
167
/**
@@ -154,6 +179,9 @@ public function testIsValidKey()
154
179
public function testSearch ()
155
180
{
156
181
$ 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 ));
158
186
}
159
187
}
0 commit comments