public void GetHashCode_returns_identity_hash_code(EntityIdentityEqualityComparer sut, Cat entity)
        {
            entity.Identity = 22;
            var identity = entity.GetIdentity();

            Assert.That(sut.GetHashCode(entity), Is.EqualTo(identity.GetHashCode()));
        }
 public void Equals_returns_false_if_second_entity_has_no_identity(EntityIdentityEqualityComparer sut, Cat entity1, Animal entity2)
 {
     entity1.Identity = 5;
     entity2.Identity = 0;
     Assert.That(sut.Equals(entity1, entity2), Is.False);
 }
 public void Equals_returns_false_if_second_entity_is_null(EntityIdentityEqualityComparer sut, Cat entity)
 {
     Assert.That(sut.Equals(entity, null), Is.False);
 }
 public void Equals_returns_false_if_first_entity_is_null(EntityIdentityEqualityComparer sut, Cat entity)
 {
     Assert.That(sut.Equals(null, entity), Is.False);
 }
 public void Equals_returns_true_if_types_are_compatible(EntityIdentityEqualityComparer sut, Cat entity1, Animal entity2)
 {
     entity1.Identity = 5;
     entity2.Identity = 5;
     Assert.That(sut.Equals(entity1, entity2), Is.True);
 }
 public void Equals_returns_false_if_types_are_not_compatible(EntityIdentityEqualityComparer sut, Cat entity1, Person entity2)
 {
     entity1.Identity = 5;
     entity2.Identity = 5;
     Assert.That(sut.Equals(entity1, entity2), Is.False);
 }
 public void Equals_returns_false_if_identities_are_not_equal(EntityIdentityEqualityComparer sut, Cat entity1, Cat entity2)
 {
     entity1.Identity = 5;
     entity2.Identity = 10;
     Assert.That(sut.Equals(entity1, entity2), Is.False);
 }
 public void Equals_returns_true_for_reference_equal_objects(EntityIdentityEqualityComparer sut, Cat entity)
 {
     Assert.That(sut.Equals(entity, entity), Is.True);
 }