public void EqualsSameType()
		{
			Parameter x = new Parameter( "name", "alias", new SqlTypes.Int32SqlType() );
			Parameter y = new Parameter( "name", "alias", new SqlTypes.Int32SqlType() );
			Parameter z = new Parameter( "name", "alias", new SqlTypes.Int32SqlType() );
			
			Assert.IsTrue( x.Equals(y) );
			Assert.IsTrue( y.Equals(x) );
			Assert.IsTrue( y.Equals(z) );
			Assert.IsTrue( x.Equals(z) );
			Assert.IsFalse( x.Equals(null) );

			y = new Parameter( "name2", "alias", new SqlTypes.Int32SqlType() );

			Assert.IsFalse( x.Equals(y) );
			Assert.IsFalse( y.Equals(x) );
		}
		public void EqualsLengthDiffType()
		{
			Parameter x = new Parameter( "name", "alias", new SqlTypes.AnsiStringSqlType(5) );
			ParameterLength y = new ParameterLength( "name", "alias", new SqlTypes.AnsiStringSqlType(5) );
			
			// even though these contain the exact same values - they should not be 
			// equal because they are different types
			Assert.IsFalse( x.Equals(y) );
			Assert.IsFalse( y.Equals(x) );
		}
		public void EqualsPrecisionDiffType()
		{
			Parameter x = new Parameter( "name", "alias", new SqlTypes.DecimalSqlType( 20, 4 ) );
			ParameterPrecisionScale y = new ParameterPrecisionScale( "name", "alias", new SqlTypes.DecimalSqlType( 20, 4 ) );
			
			// even though these contain the exact same values - they should not be 
			// equal because they are different types
			Assert.IsFalse( x.Equals(y) );
			Assert.IsFalse( y.Equals(x) );
		}