Example #1
0
        public void AddParameterToDbCommand_CheckCommand_ExpectSameParameterValues()
        {
            var sqlText   = "SELECT * FROM myTable";
            var paramName = "myParam";

            var commandMock = Substitute.For <IDbCommand>();
            var dbManager   = Substitute.For <IDbManager>();

            dbManager.GetSqlStringCommand(sqlText).Returns(commandMock);

            var cmdParameter = Substitute.For <IDbDataParameter>();

            commandMock.CreateParameter().Returns(cmdParameter);
            commandMock.Parameters[paramName].Returns(cmdParameter);

            var dbParameter = Substitute.For <DbParameter>(paramName, true, ParameterDirection.Output, DbType.Boolean);
            var textCommand = new TestDbTextCommand(sqlText);

            textCommand.Parameters.Add(dbParameter);
            textCommand.GetDbCommandWithAssignedParameters(dbManager);

            commandMock.Parameters.Received().Add(cmdParameter);

            Assert.AreEqual(dbParameter.Name, cmdParameter.ParameterName);
            Assert.AreEqual(dbParameter.Value, cmdParameter.Value);
            Assert.AreEqual(dbParameter.Direction, cmdParameter.Direction);
            Assert.AreEqual(dbParameter.DatabaseType, cmdParameter.DbType);
        }
Example #2
0
        public void CreateDbTextCommand_CompareSqlStringAndDbProcedureHashCodes_ExpectSame()
        {
            var sqlString   = "SELECT * FROM myTable";
            var textCommand = new TestDbTextCommand(sqlString);

            Assert.AreEqual(sqlString.GetHashCode(), textCommand.GetHashCode());
        }
Example #3
0
        public void CreateTextCommandWithQuery_CheckDbCommandTextAndType_ExpectEqual()
        {
            var sqlString = "SELECT * FROM myTable";

            var dbCommandMock = Substitute.For <IDbCommand>();

            dbCommandMock.CommandText = sqlString;
            dbCommandMock.CommandType = CommandType.Text;

            var fakeManager = Substitute.For <IDbManager>();

            fakeManager.GetSqlStringCommand(sqlString).Returns(dbCommandMock);

            var textCommand = new TestDbTextCommand(sqlString);

            var dbCommand = textCommand.GetDbCommandWithAssignedParameters(fakeManager);

            Assert.AreEqual(sqlString, dbCommand.CommandText);
            Assert.AreEqual(CommandType.Text, dbCommand.CommandType);
        }