예제 #1
0
        public void CopmareTo(string left, string right, int expected)
        {
            Utf8Span   leftSpan    = new Utf8Span(left);
            Utf8Span   rightSpan   = new Utf8Span(right);
            Utf8String leftString  = new Utf8String(left);
            Utf8String rightString = new Utf8String(right);

            Assert.Equal(expected, leftSpan.CompareTo(rightSpan));
            Assert.Equal(expected, leftSpan.CompareTo(rightString));
            Assert.Equal(expected, leftSpan.CompareTo(right));

            Assert.Equal(expected, leftString.CompareTo(rightSpan));
            Assert.Equal(expected, leftString.CompareTo(rightString));
            Assert.Equal(expected, leftString.CompareTo(right));

            Assert.Equal(-expected, rightSpan.CompareTo(leftSpan));
            Assert.Equal(-expected, rightSpan.CompareTo(leftString));
            Assert.Equal(-expected, rightSpan.CompareTo(left));

            Assert.Equal(-expected, rightString.CompareTo(leftSpan));
            Assert.Equal(-expected, rightString.CompareTo(leftString));
            Assert.Equal(-expected, rightString.CompareTo(left));

            Assert.Equal(0, rightString.CompareTo(rightString));
            Assert.Equal(0, rightString.CompareTo(rightSpan));
            Assert.Equal(0, rightString.CompareTo(right));

            Assert.Equal(0, rightSpan.CompareTo(rightString));
            Assert.Equal(0, rightSpan.CompareTo(rightSpan));
            Assert.Equal(0, rightSpan.CompareTo(right));

            Assert.Equal(0, leftString.CompareTo(leftString));
            Assert.Equal(0, leftString.CompareTo(leftSpan));
            Assert.Equal(0, leftString.CompareTo(left));

            Assert.Equal(0, leftSpan.CompareTo(leftString));
            Assert.Equal(0, leftSpan.CompareTo(leftSpan));
            Assert.Equal(0, leftSpan.CompareTo(left));
        }