@@ -66,21 +66,13 @@ public function testCallingGetOrdinalTwoTimesWillResultTheSameValue()
66
66
67
67
public function testInstantiateUsingMagicMethod ()
68
68
{
69
- if (version_compare (PHP_VERSION , '5.3 ' , '< ' )) {
70
- $ this ->markTestSkipped ("Instantiating using magic method doesn't work for PHP < 5.3 " );
71
- }
72
-
73
69
$ enum = MabeEnumTest_TestAsset_EnumInheritance::ONE ();
74
70
$ this ->assertInstanceOf ('MabeEnumTest_TestAsset_EnumInheritance ' , $ enum );
75
71
$ this ->assertSame (MabeEnumTest_TestAsset_EnumInheritance::ONE , $ enum ->getValue ());
76
72
}
77
73
78
74
public function testInstantiateUsingMagicMethodThrowsBadMethodCallException ()
79
75
{
80
- if (version_compare (PHP_VERSION , '5.3 ' , '< ' )) {
81
- $ this ->markTestSkipped ("Instantiating using magic method doesn't work for PHP < 5.3 " );
82
- }
83
-
84
76
$ this ->setExpectedException ('BadMethodCallException ' );
85
77
MabeEnumTest_TestAsset_EnumInheritance::UNKNOWN ();
86
78
}
@@ -90,4 +82,22 @@ public function testAmbuguousConstantsThrowsLogicException()
90
82
$ this ->setExpectedException ('LogicException ' );
91
83
MabeEnumTest_TestAsset_EnumAmbiguous::get (MabeEnumTest_TestAsset_EnumAmbiguous::AMBIGUOUS1 );
92
84
}
85
+
86
+ public function testSingleton ()
87
+ {
88
+ $ enum1 = MabeEnumTest_TestAsset_EnumWithoutDefaultValue::get (MabeEnumTest_TestAsset_EnumWithoutDefaultValue::ONE );
89
+ $ enum2 = MabeEnumTest_TestAsset_EnumWithoutDefaultValue::ONE ();
90
+ $ this ->assertSame ($ enum1 , $ enum2 );
91
+ }
92
+
93
+ public function testClear ()
94
+ {
95
+ $ enum1 = MabeEnumTest_TestAsset_EnumWithoutDefaultValue::ONE ();
96
+ MabeEnumTest_TestAsset_EnumWithoutDefaultValue::clear ();
97
+ $ enum2 = MabeEnumTest_TestAsset_EnumWithoutDefaultValue::ONE ();
98
+ $ enum3 = MabeEnumTest_TestAsset_EnumWithoutDefaultValue::ONE ();
99
+
100
+ $ this ->assertNotSame ($ enum1 , $ enum2 );
101
+ $ this ->assertSame ($ enum2 , $ enum3 );
102
+ }
93
103
}
0 commit comments