Example #1
0
        public void Execute_正常系_初期データに登録されていないテキストをアップデート出来ること()
        {
            // テスト用DBファイルを使用します。
            using (var db = new UnitTestDatabases(this))
            {
                db.AttachFiles();

                var target = new DBConnectionExecutor();

                // プロパティ
                var props = new
                {
                    Environment = new DBConnectionExecutorEnvironment()
                    {
                        EntityConnectionString = db.CreateAttachedEntityConnectionString("UnitTestSampleModel", "UnitTestSample")
                    }
                };
                ReportingConsole.WriteProperties(props);
                target.Environment = props.Environment;

                // メソッド引数
                var args = "Sample";
                ReportingConsole.WriteArgsWithNoExpected(args, NoExpectedReason.Void);

                // 実行と確認
                target.Execute(args);
            } // end using(db)
        }     // end function
        public void Count_正常系_初期データ3件登録されていてExecuteでデータを1件登録した後にCountで4が取得出来ること()
        {
            // テスト用DBファイルを使用します。
            using (var db = new UnitTestDatabases(this))
            {
                //db.Server = TestDatabaseKind.SqlServer2012ExpressLocalDB;
                db.AttachFiles();

                // 環境
                var environment = new
                {
                    ConnectionStrings = new
                    {
                        UnitTestSampleModelContainer = db.CreateAttachedEntityConnectionString("UnitTestSampleModel", "UnitTestSample"),
                        UnitTestSample = db.CreateAttachedConnectionString("UnitTestSample")
                    }
                };
                ReportingConsole.WriteFakes(environment);

                // 下記の設定は出来ないので(読み取り専用)、代わりに Moles で置き換えます。(README.txt 参照)
                //	ConfigurationManager.ConnectionStrings["UnitTestSampleEntities"].ConnectionString = environment.ConnectionStrings.UnitTestSampleEntities;
                //	ConfigurationManager.ConnectionStrings["UnitTestSample"].ConnectionString = environment.ConnectionStrings.UnitTestSample;
                //
                var c  = new ConnectionStringSettings("UnitTestSampleModelContainer", environment.ConnectionStrings.UnitTestSampleModelContainer, "System.Data.EntityClient");
                var c2 = new ConnectionStringSettings("UnitTestSample", environment.ConnectionStrings.UnitTestSample, "System.Data.Client");
                System.Configuration.Moles.MConnectionStringSettingsCollection.AllInstances.ItemGetString = (me, key) =>
                {
                    ReportingConsole.WriteFakesCalled("System.Configuration.ConfigurationManager.ConnectionStrings インデクサ(デフォルトプロパティ)");
                    if (key == "UnitTestSampleModelContainer")
                    {
                        return(c);
                    }
                    else if (key == "UnitTestSample")
                    {
                        return(c2);
                    }
                    else
                    {
                        return(me[key]);
                    }
                };

                var target = new ConfigDBConnectionExecutor();

                // メソッド引数
                var args     = "Sample";
                var expected = new
                {
                    Count = 4
                };
                ReportingConsole.WriteArgsAndExpected(args, expected);

                // 実行と確認
                target.Execute(args);
                var actual = target.Count();

                Assert.AreEqual(expected.Count, actual);
            } // end using(db)
        }     // end function
Example #3
0
        public void Execute_正常系_初期データに登録されていないテキストをアップデート出来ること()
        {
            // テスト用DBファイルを使用します。
            using (var db = new UnitTestDatabases(this))
            {
                db.AttachFiles();

                using (ShimsContext.Create())
                {
                    // 環境
                    var environment = new
                    {
                        ConnectionStrings = new
                        {
                            UnitTestSampleEntities = db.CreateAttachedEntityConnectionString("UnitTestSampleModel", "UnitTestSample")
                        }
                    };
                    ReportingConsole.WriteFakes(environment);

                    // 下記の設定は出来ないので(読み取り専用)、代わりに fakes で置き換えます。
                    //	ConfigurationManager.ConnectionStrings["UnitTestSampleEntities"].ConnectionString = environment.ConnectionStrings.UnitTestSampleEntities;
                    //
                    var c = new ConnectionStringSettings("UnitTestSampleEntities", environment.ConnectionStrings.UnitTestSampleEntities, "System.Data.EntityClient");
                    System.Configuration.Fakes.ShimConnectionStringSettingsCollection.AllInstances.ItemGetString = (me, key) =>
                    {
                        ReportingConsole.WriteFakesCalled("System.Configuration.ConfigurationManager.ConnectionStrings インデクサ(デフォルトプロパティ)");
                        if (key == "UnitTestSampleEntities")
                        {
                            return(c);
                        }
                        else
                        {
                            return(me[key]);
                        }
                    };

                    var target = new ConfigDBConnectionExecutor();

                    // メソッド引数
                    var args = "Sample";
                    ReportingConsole.WriteArgsWithNoExpected(args, NoExpectedReason.Void);

                    // 実行と確認
                    target.Execute(args);
                } // end using fakes
            }     // end using(db)
        }         // end function
Example #4
0
        public void Count_正常系_DACPACで初期データが登録されていないときExecuteでデータを1件登録した後にCountで1が取得出来ること()
        {
            // DACPAC にはスキーマしか含まれない(データが含まれない)ので、1件挿入後の Count は 1になります。

            // テスト用DBファイルを使用します。
            using (var db = new UnitTestDatabases(this, "DACPAC"))
            {
                db.AttachFiles();

                var target = new DBConnectionExecutor();

                // プロパティ
                var props = new
                {
                    Environment = new DBConnectionExecutorEnvironment()
                    {
                        EntityConnectionString  = db.CreateAttachedEntityConnectionString("UnitTestSampleModel", "UnitTestSample"),
                        CommandConnectionString = db.CreateAttachedConnectionString("UnitTestSample"),
                    }
                };
                ReportingConsole.WriteProperties(props);
                target.Environment = props.Environment;

                // メソッド引数
                var args     = "Sample";
                var expected = new
                {
                    Count = 1
                };
                ReportingConsole.WriteArgsAndExpected(args, expected);

                // 実行と確認
                target.Execute(args);
                var actual = target.Count();

                Assert.AreEqual(expected.Count, actual);
            } // end using(db)
        }     // end function