File tree Expand file tree Collapse file tree 3 files changed +26
-5
lines changed Expand file tree Collapse file tree 3 files changed +26
-5
lines changed Original file line number Diff line number Diff line change @@ -59,6 +59,7 @@ function setAction(Action $action) {
59
59
- ` __toString() ` You can ` echo $myValue ` , it will display the enum value (value of the constant)
60
60
- ` getValue() ` Returns the current value of the enum
61
61
- ` getKey() ` Returns the key of the current value on Enum
62
+ - ` equals() ` Tests whether enum instances are equal (returns ` true ` if enum values are equal, ` false ` otherwise)
62
63
63
64
Static methods:
64
65
Original file line number Diff line number Diff line change @@ -78,7 +78,7 @@ public function __toString()
78
78
*
79
79
* @return bool True if Enums are equal, false if not equal
80
80
*/
81
- public function equals (Enum $ enum )
81
+ final public function equals (Enum $ enum )
82
82
{
83
83
return $ this ->getValue () === $ enum ->getValue ();
84
84
}
Original file line number Diff line number Diff line change @@ -214,12 +214,32 @@ public function searchProvider() {
214
214
);
215
215
}
216
216
217
+ /**
218
+ * equals()
219
+ */
217
220
public function testEquals ()
218
221
{
219
- $ enum = new EnumFixture (EnumFixture::FOO );
220
- $ this ->assertTrue ($ enum ->equals (EnumFixture::FOO ()));
222
+ $ foo = new EnumFixture (EnumFixture::FOO );
223
+ $ number = new EnumFixture (EnumFixture::NUMBER );
224
+ $ anotherFoo = new EnumFixture (EnumFixture::FOO );
225
+
226
+ $ this ->assertTrue ($ foo ->equals ($ foo ));
227
+ $ this ->assertFalse ($ foo ->equals ($ number ));
228
+ $ this ->assertTrue ($ foo ->equals ($ anotherFoo ));
229
+ }
221
230
222
- $ enum = new EnumFixture (EnumFixture::PROBLEMATIC_BOOLEAN_FALSE );
223
- $ this ->assertFalse ($ enum ->equals (EnumFixture::PROBLEMATIC_EMPTY_STRING ()));
231
+ /**
232
+ * equals()
233
+ */
234
+ public function testEqualsComparesProblematicValuesProperly ()
235
+ {
236
+ $ false = new EnumFixture (EnumFixture::PROBLEMATIC_BOOLEAN_FALSE );
237
+ $ emptyString = new EnumFixture (EnumFixture::PROBLEMATIC_EMPTY_STRING );
238
+ $ null = new EnumFixture (EnumFixture::PROBLEMATIC_NULL );
239
+
240
+ $ this ->assertTrue ($ false ->equals ($ false ));
241
+ $ this ->assertFalse ($ false ->equals ($ emptyString ));
242
+ $ this ->assertFalse ($ emptyString ->equals ($ null ));
243
+ $ this ->assertFalse ($ null ->equals ($ false ));
224
244
}
225
245
}
You can’t perform that action at this time.
0 commit comments