/// <summary>
        ///
        /// </summary>
        /// <typeparam name="TModel"></typeparam>
        /// <param name="source"></param>
        /// <param name="selector"></param>
        /// <param name="propertyFunc"></param>
        /// <returns></returns>
        public static EntityMocker <TModel> MockProperty <TModel>(this EntityMocker <TModel> source, Expression <Func <TModel, short?> > selector, Func <short> propertyFunc) where TModel : class
        {
            var name = GetPropertyName(selector);

            source.EntitySettings.Add(new EntitySetting
            {
                Name      = name,
                Int16Func = propertyFunc
            });

            return(source);
        }
        /// <summary>
        ///
        /// </summary>
        /// <typeparam name="TModel"></typeparam>
        /// <param name="source"></param>
        /// <param name="selector"></param>
        /// <param name="values"></param>
        /// <returns></returns>
        public static EntityMocker <TModel> MockProperty <TModel>(this EntityMocker <TModel> source, Expression <Func <TModel, string> > selector, IEnumerable <string> values) where TModel : class
        {
            var name = GetPropertyName(selector);

            source.EntitySettings.Add(new EntitySetting
            {
                Name   = name,
                Values = values
            });

            return(source);
        }