Пример #1
0
        public void Execute_異常系_引数がaでNowプロパティが2014年12月31日の時にFalseを返すこと()
        {
            var target = new DateTimeUser();

            // プロパティ
            var props = new
            {
                Now = new System.DateTime(2014, 12, 31),
            };

            ReportingConsole.WriteProperties(props);
            target.Now = props.Now;

            // メソッド引数・結果期待値(戻り値)
            var args = new
            {
                userName = "******",
            };
            var expected = false;

            ReportingConsole.WriteArgsAndExpected(args, expected);

            // 実行と結果
            var actual = target.Execute(args.userName);

            ReportingConsole.WriteActual(actual);

            Assert.AreEqual <bool>(expected, actual);
        } // 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
Пример #3
0
        public void IsNaturalNumber_正常系_引数が10の時Trueが返ること()
        {
            var args     = 10;
            var expected = true;

            ReportingConsole.WriteArgsAndExpected(args, expected);

            var actual = StaticSomethingExecutor.IsNaturalNumber(args);

            ReportingConsole.WriteActual(actual);

            Assert.AreEqual <bool>(expected, actual);
        } // end sub
Пример #4
0
        public void PlusBaseAndArguments_正常系_実行回数が100でベース値が1かつ引数が1と2の時に4が返りかつ実行回数が101になること()
        {
            // コンストラクタ引数
            var constructor = new
            {
                executedCount = 100
            };

            ReportingConsole.WriteConstructorArgs(constructor);
            var target = new SomethingExecutor(constructor.executedCount);

            // プロパティ
            var props = new
            {
                BaseValue = 1,
            };

            ReportingConsole.WriteProperties(props);
            target.BaseValue = props.BaseValue;

            // メソッド引数・結果期待値(戻り値、プロパティ)
            var args = new
            {
                first  = 1,
                second = 2,
            };
            var expected = new
            {
                returnValue   = 4,
                ExecutedCount = 101
            };

            ReportingConsole.WriteArgsAndExpected(args, expected);

            // 実行と確認
            var actual = new
            {
                returnValue   = target.PlusBaseAndArguments(args.first, args.second),
                ExecutedCount = target.ExecutedCount
            };

            ReportingConsole.WriteActual(actual);

            Assert.AreEqual <int>(expected.returnValue, actual.returnValue);
            Assert.AreEqual <int>(expected.ExecutedCount, actual.ExecutedCount);
        } // end function
Пример #5
0
        public void PlusArguments_正常系_引数が10と100と1000の時に1110が返ること()
        {
            var args = new
            {
                first  = 10,
                second = 100,
                third  = 1000,
            };
            var expected = 1110;

            ReportingConsole.WriteArgsAndExpected(args, expected);

            var actual = StaticSomethingExecutor.PlusArguments(args.first, args.second, args.third);

            ReportingConsole.WriteActual(actual);

            Assert.AreEqual <int>(expected, actual);
        } // end function
Пример #6
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
Пример #7
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
Пример #8
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