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
Beispiel #2
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
Beispiel #3
0
        public void Execute_異常系_引数がaで現在の日付が2014年12月31日の時にFalseを返すこと()
        {
            var target = new NowUser();

            // Moles を使用します(README.txt 参照)

            // 環境
            var environment = new
            {
                Now = new DateTime(2014, 12, 31)
            };

            ReportingConsole.WriteFakes(environment);
            System.Moles.MDateTime.NowGet = () =>
            {
                ReportingConsole.WriteFakesCalled("System.DateTime.Now");
                return(environment.Now);
            };

            // メソッド引数・結果期待値(戻り値・プロパティ)
            var args = new
            {
                userName = "******",
            };
            var expected = new
            {
                returnValue = false,
                Now         = new DateTime(2014, 12, 31),
            };

            ReportingConsole.WriteArgsAndExpected(args, expected);

            // 実行と結果
            var actual = new
            {
                returnValue = target.Execute(args.userName),
                Now         = target.Now,
            };

            ReportingConsole.WriteActual(actual);

            Assert.AreEqual <bool>(expected.returnValue, actual.returnValue);
            Assert.AreEqual <DateTime>(expected.Now, actual.Now);
        } // end function
Beispiel #4
0
        public void Execute_正常系_引数がaで現在の日付が2015年1月2日の時にTrueを返すこと()
        {
            var target = new NowUser();

            // fakes を使用します。
            using (ShimsContext.Create())
            {
                // 環境
                var environment = new
                {
                    Now = new DateTime(2015, 1, 2)
                };
                ReportingConsole.WriteFakes(environment);
                System.Fakes.ShimDateTime.NowGet = () =>
                {
                    ReportingConsole.WriteFakesCalled("System.DateTime.Now");
                    return(environment.Now);
                };

                // メソッド引数・結果期待値(戻り値・プロパティ)
                var args = new
                {
                    userName = "******",
                };
                var expected = new
                {
                    returnValue = true,
                    Now         = new DateTime(2015, 1, 2),
                };
                ReportingConsole.WriteArgsAndExpected(args, expected);

                // 実行と結果
                var actual = new
                {
                    returnValue = target.Execute(args.userName),
                    Now         = target.Now,
                };
                ReportingConsole.WriteActual(actual);

                Assert.AreEqual <bool>(expected.returnValue, actual.returnValue);
                Assert.AreEqual <DateTime>(expected.Now, actual.Now);
            } // end using
        }     // end function