DefaultIntegerPropertyText extends AbstractPropertyTest
Tests the AbstractProperty class.
This is currently broken due to the way object comparison is "not" working. Objects that are technically equal may have different internal states, therefore a standard "==" comparison will not work. Furthermore, the internal property object instance may be different than the object supplied to setValue(), so "===" will not work either.
When checking values returned by the property, this needs to take objects into consideration. If objects are being compared, then they should implement the same interfaces, and they should also have the same value when cast to a string. All properties are required to be able to be cast to strings.
Table of Contents
| createProperty() | Creates a property to test | IProperty | 
|---|---|---|
| getPropertyType() | Retrieve the property type to test | IPropertyType | 
| getValue() | Returns some value to test. | mixed | 
| getValue2() | Returns a second value to test. | mixed | 
| testMinimum() | void | |
| testMaximum() | void | |
| createProperty() | Creates a property to test | IProperty | 
| getPropertyType() | Retrieve the property type to test | IPropertyType | 
| getValue() | Returns some value to test. | mixed | 
| getValue2() | Returns a second value to test. | mixed | 
| testGetName() | Tests the getName method. | void | 
| testGetType() | Tests the getType method. | void | 
| testGetFlags() | Tests the getFlags() method. | void | 
| testGetPropertyBehavior() | Tests the getPropertyBehavior() method. | void | 
| testValidateNullException() | Tests that validating null on a property that does not accept null values throws a ValidationException | void | 
| testValidateBehaviorCallback() | Sets a validation behavior callback that purposely fails. | void | 
| testValidate() | Tests the validate method. | void | 
| testGetDefaultValue() | Tests that the default value is property assigned and returned when creating a property. | void | 
| testValidateNullThrowsException() | Test that validating null on a property that does not accept null throws a ValidationException | void | 
| testGetSetValue() | Tests the setValue() and getValue() methods. | void | 
| testReset() | This must be called immediately after object creation and/or if you just want to reset the internal state of the property. | void | 
| testMagicClone() | Property cloning is required. | void | 
| makeProperty() | Calls createProperty()->reset(); | IProperty | 
Methods
createProperty()
Creates a property to test
        protected
                                createProperty(
                    
                            $name :
                string
                            
                    
            ,                 $type :
                IPropertyType
                            
                    
            ,                 $flags :
                IPropertyFlags
                            
                    
            ,                 $behavior :
                IPropertyBehavior
                            
                    
            ,                 $defaultValue :
                mixed
                            
                )
        : IProperty
    
    
            Parameters
- $name : string
 Property name
- $type : IPropertyType
 Property type
- $flags : IPropertyFlags
 Property flag set
- $behavior : IPropertyBehavior
 Property behavior callbacks
- $defaultValue : mixed
 Default property value
Return values
IProperty —instance to test
getPropertyType()
Retrieve the property type to test
        protected
                                getPropertyType(
                )
        : IPropertyType
    
    
    
        
            Return values
IPropertyType —type
getValue()
Returns some value to test.
        protected
                                getValue(
                )
        : mixed
    
        This must be of the appropriate type. DO NOT RETURN NULL.
Return values
mixed —value
getValue2()
Returns a second value to test.
        protected
                                getValue2(
                )
        : mixed
    
        This must be of the appropriate type. DO NOT RETURN NULL.
Return values
mixed —value
testMinimum()
        public
                                testMinimum(
                )
        : void
    
    
    
        
    
testMaximum()
        public
                                testMaximum(
                )
        : void
    
    
    
        
    
createProperty()
Creates a property to test
        protected
        abstract                        createProperty(
                    
                            $name :
                string
                            
                    
            ,                 $type :
                IPropertyType
                            
                    
            ,                 $flags :
                IPropertyFlags
                            
                    
            ,                 $behavior :
                IPropertyBehavior
                            
                    
            ,                 $defaultValue :
                mixed
                            
                )
        : IProperty
    
    
            Parameters
- $name : string
 Property name
- $type : IPropertyType
 Property type
- $flags : IPropertyFlags
 Property flag set
- $behavior : IPropertyBehavior
 Property behavior callbacks
- $defaultValue : mixed
 Default property value
Tags
Return values
IProperty —instance to test
getPropertyType()
Retrieve the property type to test
        protected
        abstract                        getPropertyType(
                )
        : IPropertyType
    
    
    
            Tags
Return values
IPropertyType —type
getValue()
Returns some value to test.
        protected
        abstract                        getValue(
                )
        : mixed
    
        This must be of the appropriate type. DO NOT RETURN NULL.
Tags
Return values
mixed —value
getValue2()
Returns a second value to test.
        protected
        abstract                        getValue2(
                )
        : mixed
    
        This must be of the appropriate type. DO NOT RETURN NULL.
Tags
Return values
mixed —value
testGetName()
Tests the getName method.
        public
                                testGetName(
                )
        : void
    
        Expects the same name to be returned
testGetType()
Tests the getType method.
        public
                                testGetType(
                )
        : void
    
        Expects an IPropertyType instance
testGetFlags()
Tests the getFlags() method.
        public
                                testGetFlags(
                )
        : void
    
        Expects an IPropertyFlags instance
testGetPropertyBehavior()
Tests the getPropertyBehavior() method.
        public
                                testGetPropertyBehavior(
                )
        : void
    
        Expects an IPropertyBehavior instance or null
testValidateNullException()
Tests that validating null on a property that does not accept null values throws a ValidationException
        public
                                testValidateNullException(
                )
        : void
    
    
    
        
    
testValidateBehaviorCallback()
Sets a validation behavior callback that purposely fails.
        public
                                testValidateBehaviorCallback(
                )
        : void
    
        Tests that validation throws a ValidationException due to the behavior callback.
testValidate()
Tests the validate method.
        public
                                testValidate(
                )
        : void
    
        Passes this->getValue() as the first value Passing null without the SPropertyFlags::USE_NULL flag enabled throws an exception PropertyBehavior validate method returns false and throws an exception calls validateImplementation() to test implementation-specific validation
testGetDefaultValue()
Tests that the default value is property assigned and returned when creating a property.
        public
                                testGetDefaultValue(
                )
        : void
    
        Also tests the IPropertyBehavior init callback where the default value can be modified.
testValidateNullThrowsException()
Test that validating null on a property that does not accept null throws a ValidationException
        public
                                testValidateNullThrowsException(
                )
        : void
    
    
    
        
    
testGetSetValue()
Tests the setValue() and getValue() methods.
        public
                                testGetSetValue(
                )
        : void
    
        Ensures that values are valid, and throws exceptions if not. Tests IPropertyBehavior setter for overriding or modifying values
testReset()
This must be called immediately after object creation and/or if you just want to reset the internal state of the property.
        public
                                testReset(
                )
        : void
    
        The IPropertyBehavior init callback is also utilized. The init callack is tested in testGetDefaultValue()
testMagicClone()
Property cloning is required.
        public
                                testMagicClone(
                )
        : void
    
        This ensures that the internals are properly cloned.
makeProperty()
Calls createProperty()->reset();
        protected
                final                makeProperty(
                    
                            $name :
                string
                            
                    
            ,                 $type :
                IPropertyType
                            
                    
            ,                 $flags :
                IPropertyFlags
                            
                    
            ,                 $behavior :
                IPropertyBehavior
                            
                    
            ,                 $defaultValue :
                type
                            
                )
        : IProperty
    
    
            Parameters
- $name : string
 - $type : IPropertyType
 - $flags : IPropertyFlags
 - $behavior : IPropertyBehavior
 - $defaultValue : type