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); } }