/// <summary> /// Determines if a a property with given specification is public settable or not /// </summary> /// <param name="propertyName"></param> /// <param name="propertyCondition"></param> /// <param name="propertyContent"></param> /// <returns></returns> /// ToDo: Make less complex public static bool HasPropertyPublicSetter(string propertyName, string propertyCondition, string propertyContent) { if (string.IsNullOrWhiteSpace(propertyContent) && string.IsNullOrEmpty(propertyCondition)) { return(false); } if (propertyContent != null && string.IsNullOrEmpty(propertyCondition) && propertyContent.Contains( string.Format(MsBuildStringUtilities.FormatProvider, "{0:Property}", propertyName))) { return(true); } if (string.IsNullOrEmpty(propertyCondition)) { return(false); } RegexFactory factory = new RegexFactory(); Regex selfIsEmptyCheck = factory.CreatePropertyConditionSelfCheckEmptyRegex(propertyName); if (selfIsEmptyCheck.IsMatch(propertyCondition)) { return(true); } Regex selfIsNotEmptyCheck = factory.CreatePropertyConditionSelfCheckIsNotEmptyEmptyRegex(propertyName); return(selfIsNotEmptyCheck.IsMatch(propertyCondition) && !string.IsNullOrWhiteSpace(propertyContent) && propertyContent.Contains(string.Format(MsBuildStringUtilities.FormatProvider, "{0:Property}", propertyName))); }
/// <summary> /// Returns a regex for checking the given properties condition for a empty-self-check /// </summary> /// <param name="propertyName"></param> /// <returns></returns> internal static Regex GetSystemUnderTestForSelfCheckIsEmpty(string propertyName) { return(Factory.CreatePropertyConditionSelfCheckEmptyRegex(propertyName)); }