コード例 #1
0
        public void CompareTo_IEnumerableAuthor()
        {
            var    authors            = new Authors(AuthorName, AuthorStringNameEmailHomepage);
            object objectAuthors      = new Authors(AuthorName, AuthorStringNameEmailHomepage);
            object arrayAuthors       = new Author[] { AuthorName, AuthorStringNameEmailHomepage };
            object arrayAuthorStrings = new[] { AuthorName, AuthorStringNameEmailHomepage };

            Assert.AreEqual(0, authors.CompareTo(objectAuthors));
            Assert.AreEqual(0, authors.CompareTo(arrayAuthors));
            Assert.AreEqual(0, authors.CompareTo(arrayAuthorStrings));
        }
コード例 #2
0
        public void CompareTo_object()
        {
            var authors    = new Authors(AuthorName, AuthorStringNameEmailHomepage);
            var objectBare = new object();

            Assert.Throws <NotSupportedException>(

                // ReSharper disable once ReturnValueOfPureMethodIsNotUsed
                () => authors.CompareTo(objectBare), Authors.ExceptionComparisonNotSupported
                );

            Assert.Throws <NotSupportedException>(

                // ReSharper disable once ReturnValueOfPureMethodIsNotUsed
                // ReSharper disable once ExpressionIsAlwaysNull
                () => authors.CompareTo((object)null), Authors.ExceptionComparisonNotSupported
                );
        }
コード例 #3
0
        public void CompareTo_object_IComparer()
        {
            var    authors       = new Authors(AuthorName, AuthorStringNameEmailHomepage);
            object objectAuthors = new Authors(AuthorName, AuthorStringNameEmailHomepage);

            var mockComparer = new Mock <IComparer>();

            mockComparer.Setup(setupComparer => setupComparer.Compare(It.IsAny <object>(), It.IsAny <object>()))
            ?.Returns <object, object>((a, b) => (a?.GetHashCode() ?? 0) ^ (b?.GetHashCode() ?? 0));

            Debug.Assert(mockComparer.Object != null, "mockComparer.Object != null");
            Assert.AreEqual(0, authors.CompareTo(objectAuthors, mockComparer.Object));
        }