public void Execute_正常系_初期データに登録されていないテキストをアップデート出来ること() { // テスト用DBファイルを使用します。 using (var db = new UnitTestDatabases(this)) { db.AttachFiles(); var target = new DBConnectionExecutor(); // プロパティ var props = new { Environment = new DBConnectionExecutorEnvironment() { EntityConnectionString = db.CreateAttachedEntityConnectionString("UnitTestSampleModel", "UnitTestSample") } }; ReportingConsole.WriteProperties(props); target.Environment = props.Environment; // メソッド引数 var args = "Sample"; ReportingConsole.WriteArgsWithNoExpected(args, NoExpectedReason.Void); // 実行と確認 target.Execute(args); } // end using(db) } // 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
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 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