public void Transient_entity_with_domain_signature_should_return_consistent_hashcode() { var sut = new ObjectWithOneDomainSignatureProperty { Age = 1 }; Assert.That(sut.GetHashCode(), Is.EqualTo(sut.GetHashCode())); }
public void Transient_entity_with_domain_signature_should_return_consistent_hashcode() { var obj = new ObjectWithOneDomainSignatureProperty { Age = 1 }; obj.GetHashCode().Should().Be(obj.GetHashCode()); }
Transient_entity_with_domain_signature_preserves_hashcode_temporarily_when_its_domain_signature_changes() { var obj = new ObjectWithOneDomainSignatureProperty { Age = 1 }; int initialHash = obj.GetHashCode(); obj.Age = 2; obj.GetHashCode().Should().Be(initialHash); }
public void Two_transient_entities_with_equal_values_of_domain_signature_generate_equal_hashcodes() { var sut1 = new ObjectWithOneDomainSignatureProperty { Age = 1 }; var sut2 = new ObjectWithOneDomainSignatureProperty { Age = 1 }; Assert.That(sut1.GetHashCode(), Is.EqualTo(sut2.GetHashCode())); }
public void Two_persistent_entities_with_equal_domain_signature_and_different_ids_generate_different_hashcodes() { IEntityWithTypedId <int> sut1 = new ObjectWithOneDomainSignatureProperty { Age = 1 }.SetIdTo(1); IEntityWithTypedId <int> sut2 = new ObjectWithOneDomainSignatureProperty { Age = 1 }.SetIdTo(2); Assert.That(sut1.GetHashCode(), Is.Not.EqualTo(sut2.GetHashCode())); }
public void Two_persistent_entities_with_different_domain_signature_and_equal_ids_generate_equal_hashcodes() { var sut1 = new ObjectWithOneDomainSignatureProperty { Age = 1 }.SetIdTo(1); var sut2 = new ObjectWithOneDomainSignatureProperty { Age = 2 }.SetIdTo(1); Assert.That(sut1.GetHashCode(), Is.EqualTo(sut2.GetHashCode())); }
public void TwoTransientEntititesWithEqualValuesOfDomainSignatureGenerateEqualHashcodes() { var sut1 = new ObjectWithOneDomainSignatureProperty { Age = 1 }; var sut2 = new ObjectWithOneDomainSignatureProperty { Age = 1 }; Assert.AreEqual(sut1.GetHashCode(), sut2.GetHashCode()); }
public void Two_persistent_entities_with_equal_domain_signature_and_different_ids_generate_different_hashcodes() { IEntity <int> obj1 = new ObjectWithOneDomainSignatureProperty { Age = 1 }.SetIdTo(1); IEntity <int> obj2 = new ObjectWithOneDomainSignatureProperty { Age = 1 }.SetIdTo(2); obj1.GetHashCode().Should().NotBe(obj2.GetHashCode()); }
public void TwoPersistentEntitiesWithDifferentDomainSignatureAndEqualIdsGenerateEqualHashcodes() { IDomainObjectWithTypedId <int> sut1 = new ObjectWithOneDomainSignatureProperty { Age = 1 }.SetIdTo(1); IDomainObjectWithTypedId <int> sut2 = new ObjectWithOneDomainSignatureProperty { Age = 2 }.SetIdTo(1); Assert.AreEqual(sut1.GetHashCode(), sut2.GetHashCode()); }
public void Two_transient_entities_with_equal_values_of_domain_signature_generate_equal_hashcodes() { var obj1 = new ObjectWithOneDomainSignatureProperty { Age = 1 }; var obj2 = new ObjectWithOneDomainSignatureProperty { Age = 1 }; obj1.GetHashCode().Should().Be(obj2.GetHashCode()); }
Transient_entity_with_domain_signature_preserves_hashcode_temporarily_when_its_domain_signature_changes() { var sut = new ObjectWithOneDomainSignatureProperty { Age = 1 }; int initialHashcode = sut.GetHashCode(); sut.Age = 2; Assert.That(sut.GetHashCode(), Is.EqualTo(initialHashcode)); }
TransientEntityWithDomainSignaturePreservesHashcodeTemporarilyWhenItsDomainSignatureChanges() { var sut = new ObjectWithOneDomainSignatureProperty { Age = 1 }; int initialHashcode = sut.GetHashCode(); sut.Age = 2; Assert.AreEqual(sut.GetHashCode(), initialHashcode); }
public void KeepsConsistentHashThroughLifetimeOfTransientObject() { var object1 = new ObjectWithOneDomainSignatureProperty(); int initialHash = object1.GetHashCode(); object1.Age = 13; object1.Name = "Foo"; Assert.AreEqual(initialHash, object1.GetHashCode()); object1.Age = 14; Assert.AreEqual(initialHash, object1.GetHashCode()); }
public void KeepsConsistentHashThroughLifetimeOfTransientObject() { var obj = new ObjectWithOneDomainSignatureProperty(); int initialHash = obj.GetHashCode(); obj.Age = 13; obj.Name = "Foo"; obj.GetHashCode().Should().Be(initialHash); obj.Age = 14; obj.GetHashCode().Should().Be(initialHash); }
public void EntityWithDomainSignaturePreservesHashcodeWhenTransitioningFromTransientToPersistent() { var sut = new ObjectWithOneDomainSignatureProperty { Age = 1 }; Assert.IsTrue(sut.IsTransient()); int hashcodeWhenTransient = sut.GetHashCode(); sut.SetIdTo(1); Assert.IsFalse(sut.IsTransient()); Assert.AreEqual(sut.GetHashCode(), hashcodeWhenTransient); }
public void Entity_with_domain_signature_preserves_hashcode_when_transitioning_from_transient_to_persistent() { var obj = new ObjectWithOneDomainSignatureProperty { Age = 1 }; obj.IsTransient().Should().BeTrue(); int hashcodeWhenTransient = obj.GetHashCode(); obj.SetIdTo(1); obj.IsTransient().Should().BeFalse(); obj.GetHashCode().Should().Be(hashcodeWhenTransient); }
public void KeepsConsistentHashThroughLifetimeOfPersistentObject() { var object1 = new ObjectWithOneDomainSignatureProperty(); EntityIdSetter.SetIdOf(object1, 1); var initialHash = object1.GetHashCode(); object1.Age = 13; object1.Name = "Foo"; Assert.AreEqual(initialHash, object1.GetHashCode()); object1.Age = 14; Assert.AreEqual(initialHash, object1.GetHashCode()); }
public void Entity_with_domain_signature_preserves_hashcode_when_transitioning_from_transient_to_persistent() { var sut = new ObjectWithOneDomainSignatureProperty { Age = 1 }; Assert.That(sut.IsTransient()); int hashcodeWhenTransient = sut.GetHashCode(); sut.SetIdTo(1); Assert.That(sut.IsTransient(), Is.False); Assert.That(sut.GetHashCode(), Is.EqualTo(hashcodeWhenTransient)); }
public void CanCompareDomainObjectsWithOnlySomePropertiesBeingPartOfDomainSignature() { var object1 = new ObjectWithOneDomainSignatureProperty(); var object2 = new ObjectWithOneDomainSignatureProperty(); Assert.AreEqual(object1, object2); object1.Age = 13; object2.Age = 13; // Name property isn't included in comparison object1.Name = "Foo"; object2.Name = "Bar"; Assert.AreEqual(object1, object2); object1.Age = 14; Assert.AreNotEqual(object1, object2); }
public void CanCompareDomainObjectsWithOnlySomePropertiesBeingPartOfDomainSignature() { ObjectWithOneDomainSignatureProperty object1 = new ObjectWithOneDomainSignatureProperty(); ObjectWithOneDomainSignatureProperty object2 = new ObjectWithOneDomainSignatureProperty(); Assert.That(object1, Is.EqualTo(object2)); object1.Age = 13; object2.Age = 13; // Name property isn't included in comparison object1.Name = "Foo"; object2.Name = "Bar"; Assert.That(object1, Is.EqualTo(object2)); object1.Age = 14; Assert.That(object1, Is.Not.EqualTo(object2)); }
public void CanCompareDomainObjectsWithOnlySomePropertiesBeingPartOfDomainSignature() { var obj1 = new ObjectWithOneDomainSignatureProperty(); var obj2 = new ObjectWithOneDomainSignatureProperty(); obj1.Equals(obj2).Should().BeTrue(); obj1.Age = 13; obj2.Age = 13; // Name property isn't included in comparison obj1.Name = "Foo"; obj2.Name = "Bar"; obj1.Equals(obj2).Should().BeTrue(); obj1.Age = 14; obj1.Equals(obj2).Should().BeFalse(); obj1.Equals(obj2).Should().BeFalse(); }