public static bool GetResult(string expectedValue, StringOperationType opType, string inValue) { if (inValue is null) { return(false); } switch (opType) { case StringOperationType.Equals: return(inValue.Equals(expectedValue, StringComparison.InvariantCultureIgnoreCase)); case StringOperationType.StartsWith: return(inValue.StartsWith(expectedValue, StringComparison.InvariantCultureIgnoreCase)); case StringOperationType.Contains: return(inValue.Contains(expectedValue)); //, StringComparison.InvariantCultureIgnoreCase); case StringOperationType.ContainedIn: return(expectedValue.Contains(inValue)); //, StringComparison.InvariantCultureIgnoreCase); default: throw new InvalidOperationException($"Unhandled StringOperationType of {opType} in GetResult()!"); } }
public void StringMatch_Evaluation_Check_Cases(string value, StringOperationType operation, bool ignoreCase, string input, bool expectedResult) { var context = new RewriteContext { HttpContext = new DefaultHttpContext() }; var stringMatch = new StringMatch(value, operation, ignoreCase); var matchResult = stringMatch.Evaluate(input, context); Assert.Equal(expectedResult, matchResult.Success); }
public StringMatch(string value, StringOperationType operation, bool ignoreCase) { _value = value; if (operation < StringOperationType.Equal || operation > StringOperationType.LessEqual) { throw new ArgumentOutOfRangeException(nameof(operation)); } _operation = operation; _stringComparison = ignoreCase ? StringComparison.OrdinalIgnoreCase : StringComparison.Ordinal; }
public StringWrapper(StringOperationType type) { if (type == StringOperationType.Normal) { useSB = false; } else { useSB = true; internalSB = new StringBuilder(); } }
public StringMatch(string value, StringOperationType operation, bool ignoreCase) { _value = value; _operation = operation; _stringComparison = ignoreCase ? StringComparison.OrdinalIgnoreCase : StringComparison.Ordinal; }
public StringMatch(string value, StringOperationType operation, bool ignoreCase) { _value = value; _operation = operation; _ignoreCase = ignoreCase; }