public void EqualsSameInstance()
        {
            SingletonTargetSource lhs = new SingletonTargetSource(this);
            SingletonTargetSource rhs = new SingletonTargetSource(this);

            Assert.AreEqual(lhs, rhs, "Equals() not correct for same instance comparison.");
        }
        public void GetTarget()
        {
            SingletonTargetSource source = new SingletonTargetSource(this);

            Assert.IsTrue(object.ReferenceEquals(source.GetTarget(), this),
                          "Same target source reference not being returned by GetTarget().");
        }
        /// <summary>
        /// Determines whether the specified <see cref="System.Object"/>
        /// is equal to the current <see cref="System.Object"/>.
        /// </summary>
        /// <param name="other">The target source to compare with.</param>
        /// <returns>
        /// <see langword="true"/> if this instance is equal to the
        /// specified <see cref="System.Object"/>.
        /// </returns>
        public override bool Equals(object other)
        {
            if (this == other)
            {
                return(true);
            }
            SingletonTargetSource b = other as SingletonTargetSource;

            if (b == null)
            {
                return(false);
            }
            return(target.Equals(b.target));
        }
		public void EqualsNullInstance()
		{
			SingletonTargetSource lhs = new SingletonTargetSource(this);
			Assert.IsFalse(lhs.Equals(null), "Equals() not correct for null instance comparison.");
		}
		public void EqualsSameInstance()
		{
			SingletonTargetSource lhs = new SingletonTargetSource(this);
			SingletonTargetSource rhs = new SingletonTargetSource(this);
			Assert.AreEqual(lhs, rhs, "Equals() not correct for same instance comparison.");
		}
		public void GetTarget()
		{
			SingletonTargetSource source = new SingletonTargetSource(this);
			Assert.IsTrue(object.ReferenceEquals(source.GetTarget(), this),
				"Same target source reference not being returned by GetTarget().");
		}
		public void IsStatic()
		{
			SingletonTargetSource source = new SingletonTargetSource(this);
			Assert.IsTrue(source.IsStatic, "Must be static.");
		}
		public void TargetType()
		{
			SingletonTargetSource source = new SingletonTargetSource(this);
			Assert.AreEqual(GetType(), source.TargetType, "Wrong TargetType being returned.");
		}
        public void EqualsNullInstance()
        {
            SingletonTargetSource lhs = new SingletonTargetSource(this);

            Assert.IsFalse(lhs.Equals(null), "Equals() not correct for null instance comparison.");
        }
        public void IsStatic()
        {
            SingletonTargetSource source = new SingletonTargetSource(this);

            Assert.IsTrue(source.IsStatic, "Must be static.");
        }
        public void TargetType()
        {
            SingletonTargetSource source = new SingletonTargetSource(this);

            Assert.AreEqual(GetType(), source.TargetType, "Wrong TargetType being returned.");
        }