public void Equals_object() { var authors = new Authors(AuthorName, AuthorStringNameEmailHomepage); object objectAuthors = new Authors(AuthorName, AuthorStringNameEmailHomepage); object arrayAuthors = new Author[] { AuthorName, AuthorStringNameEmailHomepage }; object arrayAuthorStrings = new[] { AuthorName, AuthorStringNameEmailHomepage }; var objectBare = new object(); Assert.IsTrue(authors.Equals(objectAuthors)); Assert.IsTrue(authors.Equals(arrayAuthors)); Assert.IsTrue(authors.Equals(arrayAuthorStrings)); Assert.Throws <NotSupportedException>( // ReSharper disable once ReturnValueOfPureMethodIsNotUsed () => authors.Equals(objectBare), Authors.ExceptionComparisonNotSupported ); Assert.Throws <NotSupportedException>( // ReSharper disable once ReturnValueOfPureMethodIsNotUsed // ReSharper disable once ExpressionIsAlwaysNull () => authors.Equals((object)null), Authors.ExceptionComparisonNotSupported ); }
public void Equals_object_IEqualityComparer() { var authors = new Authors(AuthorName, AuthorStringNameEmailHomepage); object objectAuthors = new Authors(AuthorName, AuthorStringNameEmailHomepage); var mockComparer = new Mock <IEqualityComparer>(); mockComparer.Setup(setupComparer => setupComparer.Equals(It.IsAny <object>(), It.IsAny <object>())) ?.Returns <object, object>((a, b) => a?.Equals(b) ?? false); Debug.Assert(mockComparer.Object != null, "mockComparer.Object != null"); Assert.IsTrue(authors.Equals(objectAuthors, mockComparer.Object)); }
public void AreEqual_StringArray() { var authors = new Authors(new Author(AuthorName), new Author(AuthorStringNameEmail)); Assert.IsTrue(authors.Equals(new[] { AuthorName, AuthorStringNameEmail })); }
public void AreEqual_String() { var authors = new Authors(new Author(AuthorName), new Author(AuthorStringNameEmail)); Assert.IsTrue(authors.Equals($"[\"{AuthorName}\", \"{AuthorStringNameEmail}\"]")); }