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
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
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
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