public void SynchronizeContextReference_DifferentInstanceSameType_AreEqual()
        {
            var sync1 = new SynchronizeContextReference(typeof(string));
            var sync2 = new SynchronizeContextReference(typeof(string));

            Assert.AreEqual(sync1, sync2);
            Assert.AreEqual(sync1.GetHashCode(), sync2.GetHashCode());
        }
        public void SynchronizeContextReference_DifferentInstanceSameKey_AreEqual()
        {
            var sync1 = new SynchronizeContextReference("key1");
            var sync2 = new SynchronizeContextReference("key1");

            Assert.AreEqual(sync1, sync2);
            Assert.AreEqual(sync1.GetHashCode(), sync2.GetHashCode());
        }
		public void SynchronizeContextReference_DifferentInstanceDifferentKey_AreNotEqual()
		{
			SynchronizeContextReference sync1 = new SynchronizeContextReference("key1");
			SynchronizeContextReference sync2 = new SynchronizeContextReference("key2");

			Assert.AreNotEqual(sync1, sync2);
			Assert.AreNotEqual(sync1.GetHashCode(), sync2.GetHashCode());
		}
		public void SynchronizeContextReference_DifferentInstanceSameType_AreEqual()
		{
			var sync1 = new SynchronizeContextReference(typeof(string));
			var sync2 = new SynchronizeContextReference(typeof(string));

			Assert.AreEqual(sync1, sync2);
			Assert.AreEqual(sync1.GetHashCode(), sync2.GetHashCode());
		}
		public void SynchronizeContextReference_DifferentInstanceSameKey_AreEqual()
		{
			var sync1 = new SynchronizeContextReference("key1");
			var sync2 = new SynchronizeContextReference("key1");

			Assert.AreEqual(sync1, sync2);
			Assert.AreEqual(sync1.GetHashCode(), sync2.GetHashCode());
		}
		public void SynchronizeContextReference_DifferentInstanceDifferentType_AreNotEqual()
		{
			SynchronizeContextReference sync1 = new SynchronizeContextReference(typeof(string));
			SynchronizeContextReference sync2 = new SynchronizeContextReference(typeof(float));

			Assert.AreNotEqual(sync1, sync2);
			Assert.AreNotEqual(sync1.GetHashCode(), sync2.GetHashCode());
		}