public string TrimStartWithMax(string input, string startsWith, StringComparison comparisonType, int max) { PexAssume.IsNotNull(input); PexAssume.IsNotNull(startsWith); int count; string result = CommonStringExtensions.TrimStart(input, startsWith, comparisonType, max, out count); PexAssert.IsNotNull(result); PexAssert.IsTrue(result.Length <= input.Length); bool isStartsWithNotEmpty = startsWith.Length > 0; if (isStartsWithNotEmpty) { int originalStartsWithCount = CommonStringExtensions.CountSubstringStart(input, startsWith, comparisonType); int resultStartsWithCount = CommonStringExtensions.CountSubstringStart(result, startsWith, comparisonType); PexAssert.IsTrue(resultStartsWithCount == 0 || resultStartsWithCount == originalStartsWithCount - max); PexAssert.IsTrue(originalStartsWithCount - resultStartsWithCount == count); } return(result); }
public string TrimStart(string input, string startsWith, StringComparison comparisonType) { string result = CommonStringExtensions.TrimStart(input, startsWith, comparisonType); PexAssert.IsNotNull(result); PexAssert.IsTrue(result.Length <= input.Length); bool stillStartsWith = result.StartsWith(startsWith, comparisonType); bool isStartsWithNotEmpty = startsWith.Length > 0; PexAssert.IsTrue(!stillStartsWith || !isStartsWithNotEmpty); return(result); }