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); }
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)); }
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); }
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); }
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); }
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); }