Exemplo n.º 1
0
        public void Equals_returns_true_if_entity_types_and_values_are_equal([Frozen] IGetsEntityTypeForIdentityEquality equalityTypeProvider,
                                                                             IdentityEqualityComparer sut,
                                                                             IIdentity identity1,
                                                                             IIdentity identity2)
        {
            Mock.Get(identity1).SetupGet(x => x.Value).Returns(1);
            Mock.Get(identity1).SetupGet(x => x.EntityType).Returns(typeof(Cat));
            Mock.Get(equalityTypeProvider).Setup(x => x.GetIdentityEqualityType(typeof(Cat))).Returns(typeof(Animal));

            Mock.Get(identity2).SetupGet(x => x.Value).Returns(1);
            Mock.Get(identity2).SetupGet(x => x.EntityType).Returns(typeof(Dog));
            Mock.Get(equalityTypeProvider).Setup(x => x.GetIdentityEqualityType(typeof(Dog))).Returns(typeof(Animal));

            Assert.That(sut.Equals(identity1, identity2), Is.True);
        }
Exemplo n.º 2
0
        public void GetHashCode_gets_hash_code_equal_to_hash_of_entity_type_and_identity_value([Frozen] IGetsEntityTypeForIdentityEquality equalityTypeProvider,
                                                                                               IdentityEqualityComparer sut,
                                                                                               IIdentity identity)
        {
            Mock.Get(identity).SetupGet(x => x.Value).Returns(55);
            Mock.Get(identity).SetupGet(x => x.EntityType).Returns(typeof(Cat));
            Mock.Get(equalityTypeProvider).Setup(x => x.GetIdentityEqualityType(typeof(Cat))).Returns(typeof(Animal));

            Assert.That(sut.GetHashCode(identity), Is.EqualTo(55.GetHashCode() ^ typeof(Animal).GetHashCode()));
        }
Exemplo n.º 3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="IdentityEqualityComparer"/> class.
 /// </summary>
 /// <param name="identityEqualityTypeProvider">An identity equality type provider implementation (use <c>null</c> here to select a default implementation).</param>
 public IdentityEqualityComparer(IGetsEntityTypeForIdentityEquality identityEqualityTypeProvider = null)
 {
     this.identityEqualityTypeProvider = identityEqualityTypeProvider ?? new EntityIdentityEqualityTypeProvider();
 }