public void TestEqualsPositive(int start, int length) { var left = new TextReplacementLocation(start,length,null); var right = new TextReplacementLocation(start,length,"Some text"); var asObject = (object)right; Assert.True(left.Equals(right)); Assert.True(left == right); Assert.True(left.Equals(asObject)); }
public void TestEqualsNegative(int start, int length) { var obj = (object)"Some text"; var left = new TextReplacementLocation(start, length, null); var right = new TextReplacementLocation(start + 1, length, "Some text"); var asObject = (object) right; Assert.False(left.Equals(right)); Assert.False(left.Equals(null)); Assert.False(left.Equals(obj)); Assert.True(left != right); Assert.False(left.Equals(asObject)); }
public string Transform(string message) { var replacementCollection = new TextReplacementLocationCollection(); foreach (var pattern in _patterns) { var matches = pattern.Matches(message); foreach (Match match in matches) { var replacement = new TextReplacementLocation(match.Index, match.Length, string.Format("<a href=\"tel:{0}\">{0}</a>", match.Value)); replacementCollection.CheckedAdd(replacement); } } var stringBuilder = new StringBuilder(message); foreach (var replacement in replacementCollection.OrderByDescending(r => r.Start)) { stringBuilder.Remove(replacement.Start, replacement.Length); stringBuilder.Insert(replacement.Start, replacement.Replacement); } return string.Concat("<html><body>", stringBuilder.ToString(),"</body></html>"); }
public void TestContainsPositive(int startLeft, int lengthLeft, int startRight, int lengthRight) { var left = new TextReplacementLocation(startLeft,lengthLeft,null); var right = new TextReplacementLocation(startRight, lengthRight, null); Assert.True(left.Contains(right)); }