public override bool Equals(object obj)
 {
     if (this == obj)
     {
         return(true);
     }
     if (obj == null)
     {
         return(false);
     }
     if (GetType() != obj.GetType())
     {
         return(false);
     }
     TestLightWeightHashSet.TestObject other = (TestLightWeightHashSet.TestObject)obj;
     return(this.value.Equals(other.value));
 }
        public virtual void TestGetElement()
        {
            LightWeightHashSet <TestLightWeightHashSet.TestObject> objSet = new LightWeightHashSet
                                                                            <TestLightWeightHashSet.TestObject>();

            TestLightWeightHashSet.TestObject objA = new TestLightWeightHashSet.TestObject("object A"
                                                                                           );
            TestLightWeightHashSet.TestObject equalToObjA = new TestLightWeightHashSet.TestObject
                                                                ("object A");
            TestLightWeightHashSet.TestObject objB = new TestLightWeightHashSet.TestObject("object B"
                                                                                           );
            objSet.AddItem(objA);
            objSet.AddItem(objB);
            NUnit.Framework.Assert.AreSame(objA, objSet.GetElement(objA));
            NUnit.Framework.Assert.AreSame(objA, objSet.GetElement(equalToObjA));
            NUnit.Framework.Assert.AreSame(objB, objSet.GetElement(objB));
            NUnit.Framework.Assert.IsNull(objSet.GetElement(new TestLightWeightHashSet.TestObject
                                                                ("not in set")));
        }