Youshido\Tests\Library\Type\EnumTypeTest::testNormalCreatingParams PHP Method

testNormalCreatingParams() public method

    public function testNormalCreatingParams()
    {
        $valuesData = [['name' => 'ENABLE', 'value' => true], ['name' => 'DISABLE', 'value' => 'disable']];
        $enumType = new EnumType(['name' => 'BoolEnum', 'values' => $valuesData]);
        $this->assertEquals($enumType->getKind(), TypeMap::KIND_ENUM);
        $this->assertEquals($enumType->getName(), 'BoolEnum');
        $this->assertEquals($enumType->getType(), $enumType);
        $this->assertEquals($enumType->getNamedType(), $enumType);
        $this->assertFalse($enumType->isValidValue($enumType));
        $this->assertFalse($enumType->isValidValue(null));
        $this->assertTrue($enumType->isValidValue(true));
        $this->assertTrue($enumType->isValidValue('disable'));
        $this->assertNull($enumType->serialize('invalid value'));
        $this->assertNull($enumType->parseValue('invalid literal'));
        $this->assertTrue($enumType->parseValue('ENABLE'));
        $this->assertEquals($valuesData, $enumType->getValues());
    }