public void First_is_transient_second_isnt() { // arrange var entity1 = new TestEntityClass(); var entity2 = new NHibernateStyleProxy(id: 2); // act var result = entity1.Equals(entity2); var result2 = entity1 == entity2; var hashCode1 = entity1.GetHashCode(); var hashCode2 = entity2.GetHashCode(); // assert result .Should() .BeFalse(); result2 .Should() .BeFalse(); hashCode1 .Should() .BeGreaterThan(0); hashCode2 .Should() .Be(2.GetHashCode()); }
public void Two_transient_objects_not_equal() { // arrange var entity1 = new TestEntityClass(); var entity2 = new TestEntityClass(); // act var result = entity1.Equals(entity2); var result2 = entity1 == entity2; var hashCode1 = entity1.GetHashCode(); var hashCode2 = entity2.GetHashCode(); // assert result .Should() .BeFalse(); result2 .Should() .BeFalse(); hashCode1 .Should() .NotBe(hashCode2); }
public void Two_transient_objects_equal() { // arrange var entity1 = new TestEntityClass(); // act // this is on purpose // ReSharper disable EqualExpressionComparison var result = entity1.Equals(entity1); var result2 = entity1 == entity1; // ReSharper restore EqualExpressionComparison var hashCode = entity1.GetHashCode(); // assert result .Should() .BeTrue(); result2 .Should() .BeTrue(); hashCode .Should() .BeGreaterThan(0); }