public void TestCompareSegASegB() { StringSegment segA = new StringSegment("Aaa", 0, 2); StringSegment segB = new StringSegment("Aaa", 1, 2); Assert.Greater(StringSegment.Compare(segA, segB, StringComparison.InvariantCulture), 0); }
public void TestCompareSegASegBSc() { StringSegment segA = new StringSegment("Aaa", 0, 2); StringSegment segB = new StringSegment("Aaa", 1, 2); Assert.AreEqual(0, StringSegment.Compare(segA, segB, StringComparison.OrdinalIgnoreCase)); }
public void TestCompareDifferentLengths() { StringSegment segA = new StringSegment("This is a test", 5, 4); StringSegment segB = new StringSegment("This is a test", 5, 6); Assert.Less(segA.CompareTo(segB), 0); Assert.Less(StringSegment.Compare(segA, segB, StringComparison.Ordinal), 0); Assert.Less(StringSegment.CompareOrdinal(segA, segB), 0); }
public void ComparisonsTest(string a, string b) { Assert.AreEqual(a == b, a.AsSegment() == b.AsSegment()); foreach (StringComparison comparison in Enum <StringComparison> .GetValues()) { Assert.AreEqual(String.Equals(a, b, comparison), StringSegment.Equals(a, b, comparison)); Assert.AreEqual(Math.Sign(String.Compare(a, b, comparison)), Math.Sign(StringSegment.Compare(a, b, comparison))); } Assert.AreEqual(StringComparer.Ordinal.Equals(a, b), StringSegmentComparer.Ordinal.Equals(a, b)); Assert.AreEqual(StringComparer.Ordinal.Equals(a, b), StringSegmentComparer.Ordinal.Equals((object)a, b)); Assert.AreEqual(StringComparer.Ordinal.Equals(a, b), StringSegmentComparer.Ordinal.Equals((object)a, (StringSegment)b)); Assert.AreEqual(Math.Sign(StringComparer.Ordinal.Compare(a, b)), Math.Sign(StringSegmentComparer.Ordinal.Compare(a, b))); Assert.AreEqual(Math.Sign(StringComparer.Ordinal.Compare(a, b)), Math.Sign(StringSegmentComparer.Ordinal.Compare((object)a, b))); Assert.AreEqual(Math.Sign(StringComparer.Ordinal.Compare(a, b)), Math.Sign(StringSegmentComparer.Ordinal.Compare((object)a, (StringSegment)b))); Assert.AreEqual(StringComparer.OrdinalIgnoreCase.Equals(a, b), StringSegmentComparer.OrdinalIgnoreCase.Equals(a, b)); Assert.AreEqual(Math.Sign(StringComparer.OrdinalIgnoreCase.Compare(a, b)), Math.Sign(StringSegmentComparer.OrdinalIgnoreCase.Compare(a, b))); Assert.AreEqual(StringComparer.CurrentCulture.Equals(a, b), StringSegmentComparer.CurrentCulture.Equals(a, b)); Assert.AreEqual(Math.Sign(StringComparer.CurrentCulture.Compare(a, b)), Math.Sign(StringSegmentComparer.CurrentCulture.Compare(a, b))); Assert.AreEqual(StringComparer.CurrentCultureIgnoreCase.Equals(a, b), StringSegmentComparer.CurrentCultureIgnoreCase.Equals(a, b)); Assert.AreEqual(Math.Sign(StringComparer.CurrentCultureIgnoreCase.Compare(a, b)), Math.Sign(StringSegmentComparer.CurrentCultureIgnoreCase.Compare(a, b))); }