示例#1
0
        public void AddParameter_Should_Use_Registered_IConverter()
        {
            // Arrange
            IDataMapper db        = CreateDataMapper();
            DbParameter parameter = MockRepository.GenerateStub <DbParameter>();

            _command
            .Expect(c => c.CreateParameter())
            .Return(parameter);

            DbParameterCollection parameters = MockRepository.GenerateStub <DbParameterCollection>();

            // Register a BooleanYNConverter
            MapRepository.Instance.RegisterTypeConverter(typeof(bool), new Converters.BooleanYNConverter());

            _command
            .Expect(c => c.Parameters)
            .Return(parameters);

            // Act
            ParameterChainMethods paramChain = db.AddParameter("Flag", true);

            // Assert
            Assert.AreEqual("Flag", paramChain.Parameter.ParameterName);
            Assert.AreEqual("Y", paramChain.Parameter.Value);
        }
示例#2
0
        public void AddParameter_When_Enum_Converter_Is_Registered_Should_Use_For_Any_Enums()
        {
            // Arrange
            IDataMapper db        = CreateDataMapper();
            DbParameter parameter = MockRepository.GenerateStub <DbParameter>();

            _command
            .Expect(c => c.CreateParameter())
            .Return(parameter);

            DbParameterCollection parameters = MockRepository.GenerateStub <DbParameterCollection>();

            _command
            .Expect(c => c.Parameters)
            .Return(parameters);

            // Register a BooleanYNConverter
            MapRepository.Instance.RegisterTypeConverter(typeof(Enum), new Converters.EnumStringConverter());

            // Act
            ParameterChainMethods paramChain = db.AddParameter("GenderType", GenderType.Male);

            // Assert
            Assert.AreEqual("Male", paramChain.Parameter.Value);
            Assert.IsInstanceOfType(paramChain.Parameter.Value, typeof(string));
        }
示例#3
0
        private void Write_EndsWith(MethodCallExpression body)
        {
            // Add parameter to Command.Parameters
            object value     = GetRightValue(body.Arguments[0]);
            string paramName = string.Concat(_paramPrefix, "P", _command.Parameters.Count.ToString());
            var    parameter = new ParameterChainMethods(_command, paramName, value).Parameter;

            MemberExpression memberExp = (body.Object as MemberExpression);
            string           fqColumn  = GetFullyQualifiedColumnName(memberExp.Member, memberExp.Expression.Type);

            _sb.AppendFormat(_dialect.EndsWithFormat, fqColumn, paramName);
        }
示例#4
0
        protected override Expression VisitConstant(ConstantExpression expression)
        {
            if (expression.Value != null)
            {
                // Add parameter to Command.Parameters
                string paramName = string.Concat(_paramPrefix, "P", _command.Parameters.Count.ToString());

                _sb.Append(paramName);

                var parameter = new ParameterChainMethods(_command, paramName, expression.Value).Parameter;
            }
            else
            {
                _sb.Append("NULL");
            }

            return(expression);
        }
示例#5
0
        public void AddParameter_When_No_IConverter_Is_Registered_Should_Use_Assign_Straight_Value()
        {
            // Arrange
            IDataMapper db        = CreateDataMapper();
            DbParameter parameter = MockRepository.GenerateStub <DbParameter>();

            _command
            .Expect(c => c.CreateParameter())
            .Return(parameter);

            DbParameterCollection parameters = MockRepository.GenerateStub <DbParameterCollection>();

            _command
            .Expect(c => c.Parameters)
            .Return(parameters);

            // Act
            ParameterChainMethods paramChain = db.AddParameter("Flag", true);

            // Assert
            Assert.AreEqual("Flag", paramChain.Parameter.ParameterName);
            Assert.AreEqual(true, paramChain.Parameter.Value);
        }
示例#6
0
        public void AddParameter_Null_Should_Convert_To_DBNull_Value()
        {
            // Arrange
            IDataMapper db        = CreateDataMapper();
            DbParameter parameter = MockRepository.GenerateStub <DbParameter>();

            _command
            .Expect(c => c.CreateParameter())
            .Return(parameter);

            DbParameterCollection parameters = MockRepository.GenerateStub <DbParameterCollection>();

            _command
            .Expect(c => c.Parameters)
            .Return(parameters);

            // Act
            ParameterChainMethods paramChain = db.AddParameter("Test", null);

            // Assert
            Assert.AreEqual("Test", paramChain.Parameter.ParameterName);
            Assert.AreEqual(DBNull.Value, paramChain.Parameter.Value);
        }