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 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 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
public void PlusArguments_異常系_引数が11と100と1000の時にArgumentOutOfRangeException例外がスローされること() { var args = new { first = 11, second = 100, third = 1000, }; ReportingConsole.WriteArgsWithNoExpected(args, NoExpectedReason.ThrowException); var actual = StaticSomethingExecutor.PlusArguments(args.first, args.second, args.third); ReportingConsole.WriteNotThrownException(actual); } // 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 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
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
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
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