public function testIsBasic() { $enum = EnumBasic::ONE(); // by value $this->assertTrue($enum->is(EnumBasic::ONE)); // same $this->assertFalse($enum->is('1')); // wrong value by strict comparison // by instance $this->assertTrue($enum->is(EnumBasic::ONE())); // same $this->assertFalse($enum->is(EnumBasic::TWO())); // different enumerators $this->assertFalse($enum->is(EnumInheritance::ONE())); // different enumeration type }
public function testArrayAccessWithObjects() { $enumMap = new EnumMap('MabeEnumTest\\TestAsset\\EnumBasic'); $enumMap[EnumBasic::ONE()] = 'first'; $enumMap[EnumBasic::TWO()] = 'second'; $this->assertTrue(isset($enumMap[EnumBasic::ONE()])); $this->assertTrue(isset($enumMap[EnumBasic::TWO()])); $this->assertSame('first', $enumMap[EnumBasic::ONE()]); $this->assertSame('second', $enumMap[EnumBasic::TWO()]); unset($enumMap[EnumBasic::ONE()], $enumMap[EnumBasic::TWO()]); $this->assertFalse(isset($enumMap[EnumBasic::ONE()])); $this->assertFalse(isset($enumMap[EnumBasic::TWO()])); }