예제 #1
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
예제 #2
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