|
8 | 8 | use MabeEnumTest\TestAsset\EnumInheritance; |
9 | 9 | use OutOfBoundsException; |
10 | 10 | use PHPUnit\Framework\TestCase; |
| 11 | +use UnexpectedValueException; |
11 | 12 |
|
12 | 13 | /** |
13 | 14 | * Unit tests for the class MabeEnum\EnumMap |
@@ -98,6 +99,14 @@ public function testBasicWithEnumeratorValues() |
98 | 99 | $this->assertSame([], $enumMap->getValues()); |
99 | 100 | } |
100 | 101 |
|
| 102 | + public function testOffsetGetMissingKey() |
| 103 | + { |
| 104 | + $enumMap = new EnumMap(EnumBasic::class); |
| 105 | + |
| 106 | + $this->expectException(UnexpectedValueException::class); |
| 107 | + $enumMap->offsetGet(EnumBasic::ONE); |
| 108 | + } |
| 109 | + |
101 | 110 | public function testIterate() |
102 | 111 | { |
103 | 112 | $enumMap = new EnumMap(EnumBasic::class); |
@@ -132,6 +141,7 @@ public function testIterate() |
132 | 141 |
|
133 | 142 | // go to the next element (out of range) |
134 | 143 | $this->assertNull($enumMap->next()); |
| 144 | + $this->assertNull($enumMap->current()); |
135 | 145 | $this->assertFalse($enumMap->valid()); |
136 | 146 | $this->assertSame(null, $enumMap->key()); |
137 | 147 |
|
@@ -243,6 +253,8 @@ public function testNullValue() |
243 | 253 | $enumMap[EnumBasic::ONE()] = null; |
244 | 254 |
|
245 | 255 | $this->assertSame(1, $enumMap->count()); |
| 256 | + $this->assertNull($enumMap[EnumBasic::ONE]); |
| 257 | + $this->assertNull($enumMap->offsetGet(EnumBasic::ONE)); |
246 | 258 | $this->assertSame([EnumBasic::ONE()], $enumMap->getKeys()); |
247 | 259 |
|
248 | 260 | $enumMap->rewind(); |
|
0 commit comments