private static void CompareString(string subText, ScriptStringSlice slice) { Assert.AreEqual(subText, slice.ToString()); Assert.AreEqual(subText.Length, slice.Length); if (slice.Length > 0) { Assert.NotZero(slice.GetHashCode()); } Assert.True(subText == slice, "String not comparing correctly: Expecting: {subText}, Result: {slice}"); for (int j = 0; j < slice.Length; j++) { Assert.AreEqual(subText[j], slice[j]); } foreach (var compare in StringsToCompare) { { var result = subText.CompareTo(compare); var sliceResult = slice.CompareTo(compare); Assert.AreEqual(result, sliceResult); } Assert.AreEqual(subText == compare, slice == compare); Assert.AreEqual(subText == compare, compare == slice); } }
public static void Write(this IScriptOutput scriptOutput, ScriptStringSlice text) { if (text.FullText == null) { throw new ArgumentNullException(nameof(text)); } if (text.Length == 0) { return; } scriptOutput.Write(text.FullText, text.Index, text.Length); }
/// <summary> /// Writes the text to the current <see cref="Output"/> /// </summary> /// <param name="slice">The text.</param> public TemplateContext Write(ScriptStringSlice slice) { Write(slice.FullText, slice.Index, slice.Length); return(this); }
public ScriptPrinter Write(ScriptStringSlice slice) { _previousHasSpace = slice.Length > 0 && char.IsWhiteSpace(slice[slice.Length - 1]); _output.Write(slice); return(this); }