public void HierarchicalLifetimeManager_Child_Not_Equal_To_Parent() { // Create parent container IUnityContainer parentCtr = new UnityContainer(); // Register type in parent container parentCtr.RegisterType <MyObject>(new HierarchicalLifetimeManager()); // Create nested child container in parent container IUnityContainer childCtr = parentCtr.CreateChildContainer(); MyObject parentObject1 = parentCtr.Resolve <MyObject>(); MyObject parentObject2 = parentCtr.Resolve <MyObject>(); Assert.That(parentObject2.GetHashCode(), Is.EqualTo(parentObject1.GetHashCode()), "paren1 != parent2"); MyObject childObject = childCtr.Resolve <MyObject>(); Assert.That(childObject.GetHashCode(), Is.Not.EqualTo(parentObject1.GetHashCode()), "child != parent"); // Dispose child container childCtr.Dispose(); // Dispose parent container parentCtr.Dispose(); }
static void Main(string[] args) { MyObject a1 = null, a2 = null; MyObject.Create(i => a1 = i); MyObject.Create(i => a2 = i); Console.WriteLine("a1 hashcode:" + a1.GetHashCode()); // 46104728 Console.WriteLine("a2 hashcode:" + a2.GetHashCode()); // 12289376 a1.SwapWith(a2); Console.WriteLine("a1 hashcode:" + a1.GetHashCode()); // 12289376 Console.WriteLine("a2 hashcode:" + a2.GetHashCode()); // 46104728 }
public void TestAnObjectHashcode() { // create string object object myObj = new MyObject(); Assert.AreEqual(typeof(object), myObj.GetHashCode().GetType()); }
public void TestObjectsHasUniqueId() { // create string object object myObj = new MyObject(); object myObj2 = new MyObject(); Assert.IsTrue(myObj.GetHashCode() == myObj2.GetHashCode()); }
public override int GetHashCode() { if (Root != null) { return(MyObject != null ? (Root, MyObject).GetHashCode() : Root.GetHashCode()); } return(MyObject != null?MyObject.GetHashCode() : 0); }
public override int GetHashCode() { if (Root != null) { return(MyObject?.GetHashCode() ?? 0); } // ReSharper disable once BaseObjectGetHashCodeCallInGetHashCode return(base.GetHashCode()); }