public void SameObjectReferenceSameHashcode(TestObject obj)
		{
			var objRefCopy = obj;

			var hashCodeForObj = obj.GetHashCodeFromComponents();
			var hashCodeForObjCopy = objRefCopy.GetHashCodeFromComponents();

			hashCodeForObj.Should().Equals(hashCodeForObjCopy);
		}
		public void DifferentObjectSameComponentsSameHashCode(String strVal, int intVal, object objVal)
		{
			var testObj1 = new TestObject(strVal, intVal, objVal);
			var testObj2 = new TestObject(strVal, intVal, objVal);

			var hashCodeForObj1 = testObj1.GetHashCodeFromComponents();
			var hashCodeForObj2 = testObj2.GetHashCodeFromComponents();

			testObj1.Should().NotBeSameAs(testObj2);
			hashCodeForObj1.Should().Be(hashCodeForObj2);
		}
		public void DifferentObjectDifferentHashCode(TestObject obj1, TestObject obj2)
		{
			var hashCodeForObj1 = obj1.GetHashCodeFromComponents();
			var hashCodeForObj2 = obj2.GetHashCodeFromComponents();

			hashCodeForObj1.Should().NotBe(hashCodeForObj2);
		}