public void CreateProcedureWithNVarCharNoSizeParameter()
        {
            procedure.Parameters.AddString(StringColumnName, SqlDbType.NVarChar).Direction = ParameterDirection.Input;
            string expected = $"create procedure {ProcedureName} {StringColumnName} NVarChar(1) as begin {ProcedureBody} end";

            string actual = new ProcedureCreateSqlGenerator().Sql(procedure);

            Assert.AreEqual(expected, actual);
        }
        public void CreateProcedureWithMaxSizeNVarCharParameter()
        {
            var parameter = procedure.Parameters.AddString(StringColumnName, SqlDbType.NVarChar);
            parameter.Direction = ParameterDirection.Input;
            parameter.IsMaximumSize = true;
            string expected = $"create procedure {ProcedureName} {StringColumnName} NVarChar(max) as begin {ProcedureBody} end";

            string actual = new ProcedureCreateSqlGenerator().Sql(procedure);

            Assert.AreEqual(expected, actual);
        }
        public void CreateProcedureWithDecimalParameter()
        {
            var parameter = procedure.Parameters.AddDecimal("money");
            parameter.Direction = ParameterDirection.Input;
            parameter.Precision = 10;
            parameter.Scale = 5;
            string expected = $"create procedure {ProcedureName} @money Decimal(10,5) as begin {ProcedureBody} end";

            string actual = new ProcedureCreateSqlGenerator().Sql(procedure);

            Assert.AreEqual(expected, actual);
        }
        public void CreateProcedureWithSingleParameter()
        {
            procedure.Parameters.AddInteger(IntegerColumnName, SqlDbType.Int).Direction = ParameterDirection.Input;

            string expected = $"create procedure {ProcedureName} {IntegerColumnName} Int as begin {ProcedureBody} end";

            string actual = new ProcedureCreateSqlGenerator().Sql(procedure);

            Assert.AreEqual(expected, actual);
        }