public void ReturnsExpectedPropertyValues()
        {
            var sut = new MaxDataTypeImpl(0, BulkCopyDataType.VarBinaryMax, BindingFlags.VariableLengthIn | BindingFlags.VariableLengthOut);

            Assert.AreEqual(-1, ((IBulkCopyBoundColumn)sut).ByteLength);
            Assert.AreEqual(BulkCopyDataType.VarBinaryMax, sut.DataType);
            Assert.AreEqual("VarBinary(MAX) NOT NULL", sut.DataTypeDescription);
            Assert.AreEqual(0, sut.Index);
            Assert.AreEqual(true, sut.IsBound);
            Assert.AreEqual(false, sut.IsNullable);
            Assert.AreEqual(true, sut.IsVariableLength);
            Assert.AreEqual(-1, ((IBulkCopyBoundColumn)sut).Length);
            Assert.AreEqual(BindingFlags.VariableLengthIn | BindingFlags.VariableLengthOut, sut.Options);

            sut = new MaxDataTypeImpl(1, BulkCopyDataType.NullableVarBinaryMax, BindingFlags.Nullable | BindingFlags.VariableLengthIn | BindingFlags.VariableLengthOut);

            Assert.AreEqual(-1, ((IBulkCopyBoundColumn)sut).ByteLength);
            Assert.AreEqual(BulkCopyDataType.NullableVarBinaryMax, sut.DataType);
            Assert.AreEqual("VarBinary(MAX) NULL", sut.DataTypeDescription);
            Assert.AreEqual(1, sut.Index);
            Assert.AreEqual(true, sut.IsBound);
            Assert.AreEqual(true, sut.IsNullable);
            Assert.AreEqual(true, sut.IsVariableLength);
            Assert.AreEqual(-1, ((IBulkCopyBoundColumn)sut).Length);
            Assert.AreEqual(BindingFlags.Nullable | BindingFlags.VariableLengthIn | BindingFlags.VariableLengthOut, sut.Options);
        }
 public void ConstructorThrowsExceptionWhenIndexLessThanZero()
 {
     // ReSharper disable UnusedVariable
     var sut = new MaxDataTypeImpl(-1, BulkCopyDataType.VarBinaryMax, BindingFlags.None);
     // ReSharper restore UnusedVariable
 }