public void SetPropertyValueTest()
        {
            string propertyName = "IntPropNonNullable";
            int    random       = (new Random()).Next(int.MaxValue);
            int    expected     = random - (new Random()).Next(int.MaxValue);
            object obj          = new ReflectionUtilsMockObject()
            {
                IntPropNonNullable = random
            };

            obj.SetPropertyValue(propertyName, expected);
            object actual = ((ReflectionUtilsMockObject)obj).IntPropNonNullable;

            Assert.AreEqual(expected, actual);

            propertyName = "SubObject.IntPropNonNullable";
            obj.SetPropertyValue(propertyName, expected);
            actual = ((ReflectionUtilsMockObject)obj).SubObject.IntPropNonNullable;
            Assert.AreEqual(expected, actual);
        }