static DbParameter MakeParameter(SqlServerEnvironment environment, string sourceColumn, string parameterName)
        {
            var parameterA = environment.DbProviderFactory.CreateParameter();

            parameterA.SourceColumn  = sourceColumn;
            parameterA.ParameterName = parameterName;
            return(parameterA);
        }
        [Test] public void BuildsInsertCommand()
        {
            var environment = new SqlServerEnvironment();
            var parameterA  = MakeParameter(environment, "aColumn", "aParameter");
            var parameterB  = MakeParameter(environment, "bColumn", "bParameter");
            var command     = environment.BuildInsertCommand(
                "aTable",
                new[] {
                new DbParameterAccessor(parameterA, typeof(string), 0, "varchar"),
                new DbParameterAccessor(parameterB, typeof(int), 1, "integer")
            });

            Assert.AreEqual("insert into aTable([aColumn],[bColumn]) values (@aParameter,@bParameter)", command);
        }
        [Test] public void BuildUpdateCommand()
        {
            var environment = new SqlServerEnvironment();
            var parameterA  = MakeParameter(environment, "aColumn", "aParameter");
            var parameterB  = MakeParameter(environment, "bColumn", "bParameter");
            var parameterC  = MakeParameter(environment, "cColumn", "cParameter");
            var parameterD  = MakeParameter(environment, "dColumn", "dParameter");
            var command     = environment.BuildUpdateCommand(
                "aTable",
                new [] {
                new DbParameterAccessor(parameterA, typeof(string), 0, "varchar"),
                new DbParameterAccessor(parameterB, typeof(int), 1, "integer")
            },
                new[] {
                new DbParameterAccessor(parameterC, typeof(string), 2, "varchar"),
                new DbParameterAccessor(parameterD, typeof(int), 3, "integer")
            });

            Assert.AreEqual("update aTable set [aColumn]=@aParameter, [bColumn]=@bParameter where [cColumn]=@cParameter and [dColumn]=@dParameter", command);
        }
		 public override void DoTable(fit.Parse theTable)
		 {
			if (Args.Length>0){
				IDbEnvironment env;
				String requestedEnv=Args[0].ToUpper().Trim();
                if ("ORACLE".Equals(requestedEnv))
                    env = new OracleEnvironment();
                else if ("SQLSERVER".Equals(requestedEnv))
                    env = new SqlServerEnvironment();
                else if ("SQLSERVER2000".Equals(requestedEnv))
                    env = new SqlServer2000Environment();
                else if ("DB2".Equals(requestedEnv))
                    throw new ApplicationException("Moved DB2 Environment to dbfit.DB2 assembly. Need to instantiate here.");
                //env = new DB2Environment();
                else if ("MYSQL".Equals(requestedEnv)) 
                    env = Activator.CreateInstance(Type.GetType("dbfit.MySqlEnvironment, dbfit.MySql")) as IDbEnvironment;

                else throw new ApplicationException("DB Environment not supported " + requestedEnv);
				DbEnvironmentFactory.DefaultEnvironment=env;
				this.mySystemUnderTest=env;
			}
			base.DoTable(theTable);
		 }        
Esempio n. 5
0
        public override void DoTable(fit.Parse theTable)
        {
            if (Args.Length > 0)
            {
                IDbEnvironment env;
                String         requestedEnv = Args[0].ToUpper().Trim();
                if ("ORACLE".Equals(requestedEnv))
                {
                    env = new OracleEnvironment();
                }
                else if ("SQLSERVER".Equals(requestedEnv))
                {
                    env = new SqlServerEnvironment();
                }
                else if ("SQLSERVER2000".Equals(requestedEnv))
                {
                    env = new SqlServer2000Environment();
                }
                else if ("DB2".Equals(requestedEnv))
                {
                    throw new ApplicationException("Moved DB2 Environment to dbfit.DB2 assembly. Need to instantiate here.");
                }
                //env = new DB2Environment();
                else if ("MYSQL".Equals(requestedEnv))
                {
                    env = Activator.CreateInstance(Type.GetType("dbfit.MySqlEnvironment, dbfit.MySql")) as IDbEnvironment;
                }

                else
                {
                    throw new ApplicationException("DB Environment not supported " + requestedEnv);
                }
                DbEnvironmentFactory.DefaultEnvironment = env;
                this.mySystemUnderTest = env;
            }
            base.DoTable(theTable);
        }