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
Exemplo n.º 2
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