示例#1
0
        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());
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }