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