public void NotEqualWhenSecondInstanceIsNull() { ClassUsingGuidIdentity p1 = new ClassUsingGuidIdentity(); ClassUsingGuidIdentity p2 = null; Assert.IsFalse(p1.Equals(p2)); }
public void EqualWhenTransientIfBothOjectsAreTheSameInstance() { ClassUsingGuidIdentity p1 = new ClassUsingGuidIdentity(); ClassUsingGuidIdentity p2 = p1; Assert.IsTrue(p1.Equals(p2)); }
public void NotEqualWhenInstancesAreDifferentTypes() { ClassUsingGuidIdentity p1 = new ClassUsingGuidIdentity(); int i = 1; Assert.IsFalse(p1.Equals(i)); }
public void NotEqualWhenBothInstancesAreTransient() { ClassUsingGuidIdentity p1 = new ClassUsingGuidIdentity(); ClassUsingGuidIdentity p2 = new ClassUsingGuidIdentity(); Assert.IsFalse(p1.Equals(p2)); }
public void PersistedInstanceIsNotTransientWithGuidIdentity() { ClassUsingGuidIdentity p = new ClassUsingGuidIdentity(); //use reflection to set the internal ID of the object to 'simulate' persistence SetInstanceFieldValue(p, "_persistenceId", Guid.NewGuid()); Assert.IsFalse(p.IsTransient); }
public void NotEqualWhenSecondInstanceIsTransient() { ClassUsingGuidIdentity p1 = new ClassUsingGuidIdentity(); ClassUsingGuidIdentity p2 = new ClassUsingGuidIdentity(); SetInstanceFieldValue(p2, "_persistenceId", Guid.NewGuid()); Assert.IsFalse(p1.Equals(p2)); }
public void OperatorEqualOverloadTest() { ClassUsingGuidIdentity p1 = new ClassUsingGuidIdentity(); ClassUsingGuidIdentity p2 = new ClassUsingGuidIdentity(); Assert.IsFalse(p1.Equals(p2)); Assert.IsFalse(p1 == p2); Assert.IsTrue(p1 != p2); }
public void HashCodesAreEqualIfIdentitiesAreEqual() { ClassUsingGuidIdentity p1 = new ClassUsingGuidIdentity(); ClassUsingGuidIdentity p2 = new ClassUsingGuidIdentity(); Guid g = Guid.NewGuid(); SetInstanceFieldValue(p1, "_persistenceId", g); SetInstanceFieldValue(p2, "_persistenceId", g); Assert.IsTrue(p1.GetHashCode() == p2.GetHashCode()); }
public void EqualWhenInstancesHaveSameIdentityValue() { ClassUsingGuidIdentity p1 = new ClassUsingGuidIdentity(); ClassUsingGuidIdentity p2 = new ClassUsingGuidIdentity(); Guid g = Guid.NewGuid(); SetInstanceFieldValue(p1, "_persistenceId", g); SetInstanceFieldValue(p2, "_persistenceId", g); Assert.IsTrue(p1.Equals(p2)); }
public void AllPublicPropertiesAreDeclaredVirtual() { ClassUsingGuidIdentity p = new ClassUsingGuidIdentity(); foreach (PropertyInfo prop in p.GetType().BaseType.GetProperties(BindingFlags.Public | BindingFlags.Instance)) { foreach (MethodInfo methodInfo in prop.GetAccessors()) { //http://msdn.microsoft.com/en-us/library/system.reflection.methodbase.isvirtual.aspx if (!methodInfo.IsVirtual || methodInfo.IsFinal) { Assert.Fail(string.Format("Property {0} must be declared virtual in type {1}", prop.Name, p.GetType().BaseType.ToString())); } } } }
public void NewInstanceIsTransient() { ClassUsingGuidIdentity p = new ClassUsingGuidIdentity(); Assert.IsTrue(p.IsTransient); }