Ejemplo n.º 1
0
        public void ExpectThrown4はDパラメタに定義されたオブジェクトを4つの引数として取得ができ例外検証ができる()
        {
            // expect : normal
            FixtureBook.ExpectThrown <FixtureBookTestData, FixtureBookTestData, FixtureBookTestData,
                                      FixtureBookTestData, Exception>((p1, p2, p3, p4) =>
            {
                Assert.AreEqual("abc", p1.Text);
                Assert.AreEqual("def", p2.Text);
                Assert.AreEqual("ghi", p3.Text);
                Assert.AreEqual("jkl", p4.Text);
                throw new Exception("zzz");
            });

            // expect : error
            try
            {
                FixtureBook.ExpectThrown <FixtureBookTestData, FixtureBookTestData, FixtureBookTestData,
                                          FixtureBookTestData, Exception>((p1, p2, p3, p4) =>
                {
                    throw new Exception("zzt");
                });
                throw new Exception("ここにはこない");
            }
            catch (AssertFailedException e)
            {
                Console.WriteLine(e);
                Assert.IsTrue(e.Message.IndexOf("<zzz>") > -1);
                Assert.IsTrue(e.Message.IndexOf("<zzt>") > -1);
            }
        }
Ejemplo n.º 2
0
        public void ExpectReturn3はDパラメタに定義されたオブジェクトを3つの引数として取得ができ戻り値検証ができる()
        {
            // expect : normal
            FixtureBook.ExpectReturn((FixtureBookTestData p1, FixtureBookTestData p2, FixtureBookTestData p3) =>
            {
                Assert.AreEqual("abc", p1.Text);
                Assert.AreEqual("def", p2.Text);
                Assert.AreEqual("ghi", p3.Text);
                return(new FixtureBookTestData {
                    Text = "zzz"
                });
            });

            // expect : error
            try
            {
                FixtureBook.ExpectReturn((FixtureBookTestData p1, FixtureBookTestData p2, FixtureBookTestData p3) =>
                {
                    return(new FixtureBookTestData {
                        Text = "zzs"
                    });
                });
                throw new Exception("ここにはこない");
            }
            catch (AssertFailedException e)
            {
                Console.WriteLine(e);
                Assert.IsTrue(e.Message.IndexOf("<zzz>") > -1);
                Assert.IsTrue(e.Message.IndexOf("<zzs>") > -1);
            }
        }
Ejemplo n.º 3
0
 public void intのリストを検証できる_正常()
 {
     FixtureBook.ExpectReturn(() => { return(new List <int>()
         {
             1, 2
         }); });
 }
Ejemplo n.º 4
0
 public void nullと空文字列のリストを検証できる_正常()
 {
     FixtureBook.ExpectReturn(() => { return(new List <string>()
         {
             null, ""
         }); });
 }
Ejemplo n.º 5
0
        public void ValidateメソッドはSetupメソッドの暗黙呼び出しを行わないこと()
        {
            // setup
            Loggi.DebugEnabled = true;
            using (Database database = new Database())
            {
                database.ExecuteNonQuery("delete from TypesTable");
                database.Commit();
            }
            FixtureBook fixtureBook = new FixtureBook();

            // when
            Dictionary <string, string> obj = new Dictionary <string, string>();

            obj["Id"] = "1";
            fixtureBook.Validate(obj);

            // then
            using (Database database = new Database())
            {
                Assert.AreEqual(0, database.ExecuteQuery("select * from TypesTable").Rows.Count);
            }

            // when
            fixtureBook.Setup();

            // then
            using (Database database = new Database())
            {
                Assert.AreEqual(1, database.ExecuteQuery("select * from TypesTable").Rows.Count);
            }
        }
Ejemplo n.º 6
0
 public void stringのリストを検証できる_正常()
 {
     FixtureBook.ExpectReturn(() => { return(new List <string>()
         {
             "aa", "b"
         }); });
 }
Ejemplo n.º 7
0
        private void Sheet1__複数のメソッドから呼び出しができること()
        {
            // when
            FixtureBookTestData obj = new FixtureBook().GetObject <FixtureBookTestData>();

            // then
            Assert.AreEqual("xyz", obj.Text);
        }
Ejemplo n.º 8
0
        public void コンストラクタで明示的にテストケースを指定できること()
        {
            // when
            FixtureBookTestData obj = new FixtureBook(typeof(FixtureBookTest), @"..\..\FixtureTest\FixtureBookTest.xlsx", "Sheet1", "アンダーバー区切りで参照できること").GetObject <FixtureBookTestData>();

            // then
            Assert.AreEqual("efg", obj.Text);
        }
Ejemplo n.º 9
0
 public void ExpectReturnで要素数ゼロのDictionary配列を検証できる_正常()
 {
     FixtureBook.ExpectReturn((Dictionary <string, object>[] array) =>
     {
         Assert.AreEqual(0, array.Length);
         return(array);
     });
 }
Ejemplo n.º 10
0
        public void Sheet2__TestInitializeからの呼び出しができること()
        {
            // when
            FixtureBookTestData obj = new FixtureBook().GetObject <FixtureBookTestData>();

            // then
            Assert.AreEqual("klm", obj.Text);
        }
Ejemplo n.º 11
0
        public static void Sheet2__ClassInitializeからの呼び出しができること(TestContext context)
        {
            // when
            FixtureBookTestData obj = new FixtureBook().GetObject <FixtureBookTestData>();

            // then
            Assert.AreEqual("nop", obj.Text);
        }
Ejemplo n.º 12
0
        public void Sheet1__アンダーバー区切りで参照できること()
        {
            // when
            FixtureBookTestData obj = new FixtureBook().GetObject <FixtureBookTestData>();

            // then
            Assert.AreEqual("efg", obj.Text);
        }
Ejemplo n.º 13
0
        public static void Sheet2__ClassInitializeからの呼び出しができること(TestContext context)
        {
            // when
            FixtureBookTestData obj = new FixtureBook().GetObject<FixtureBookTestData>();

            // then
            Assert.AreEqual("nop", obj.Text);
        }
Ejemplo n.º 14
0
        public void FixtureBook属性指定をしなくても参照可能なこと()
        {
            // when
            FixtureBookTestData obj = new FixtureBook().GetObject <FixtureBookTestData>();

            // then
            Assert.AreEqual("abc", obj.Text);
        }
Ejemplo n.º 15
0
 public void Cleanup()
 {
     Loggi.DebugEnabled = false;
     Config.Put(FixtureBook.ExceptionEditorKey, null);
     FixtureBook.InitDefaultExceptionEditors();
     FixtureBook.UnregisterDefaultExceptionEditor <SystemException>();
     FixtureBook.UnregisterDefaultExceptionEditor <ApplicationException>();
 }
Ejemplo n.º 16
0
 public void ExpectReturnで要素数ゼロのDictionaryListを検証できる_正常()
 {
     FixtureBook.ExpectReturn((List <Dictionary <string, object> > list) =>
     {
         Assert.AreEqual(0, list.Count);
         return(list);
     });
 }
 public void ExpectReturn__テスト対象クラスとテストメソッドを引数指定したExpectReturnは指定されたメソッドを実行する()
 {
     // setup
     getEmployees = false;
     // when
     FixtureBook.ExpectReturn(typeof(Wrapper), "GetEmployees", typeof(Employee));
     // then
     Assert.IsTrue(getEmployees);
 }
 public void ExpectThrown__テスト対象クラスとテストメソッドを引数指定したExpectThrownは指定されたメソッドを実行する_正常()
 {
     // setup
     delete1 = false;
     // when
     FixtureBook.ExpectThrown <ApplicationException>(typeof(Wrapper), "Delete", typeof(List <Employee>));
     // then
     Assert.IsTrue(delete1);
 }
 public void Expect__テスト対象クラスとテストメソッドを引数指定したExpectは指定されたメソッドを実行する_引数1個の場合()
 {
     // setup
     save1 = false;
     // when
     FixtureBook.Expect(typeof(Wrapper), "Save", typeof(List <Employee>));
     // then
     Assert.IsTrue(save1);
 }
Ejemplo n.º 20
0
 public void ExpectReturn__パラメタ引数がある場合はパラメタ取得と戻り値の検証ができる_正常終了()
 {
     FixtureBook.ExpectReturn((FixtureBookAttributeTestData param) =>
     {
         Assert.AreEqual("abc", param.Text);
         return(new FixtureBookAttributeTestData {
             Text = "zzz"
         });
     });
 }
Ejemplo n.º 21
0
        public void NULLおよびEMPTYの指定ができること()
        {
            // when
            List <Data> list = new FixtureBook().GetList <Data>();

            // then
            Assert.IsNull(list[0].Text1);
            Assert.IsNull(list[1].Text1);
            Assert.AreEqual("", list[2].Text1);
        }
Ejemplo n.º 22
0
        public void RegisterDefaultExceptionEditorは設定ファイルからも登録できる()
        {
            // when
            Config.Put(FixtureBook.ExceptionEditorKey, "XPFriend.FixtureTest.ExceptionEditors");
            FixtureBook.InitDefaultExceptionEditors();

            // then
            FixtureBook.ExpectThrown <SystemException>(() => { throw new SystemException("sys"); });
            FixtureBook.ExpectThrown <ApplicationException>(() => { throw new ApplicationException("app"); });
        }
Ejemplo n.º 23
0
 public void ValidateParameter__ValidateParameterAtメソッドのインデックスがExpectの引数の数よりも多い場合は例外が発生する()
 {
     // expect
     new FixtureBook().Validate <ConfigException>(() =>
                                                  FixtureBook.Expect((FixtureBookAttributeTestData a, FixtureBookAttributeTestData b) => { }
                                                                     ).ValidateParameterAt(2));
     new FixtureBook().Validate <ConfigException>(() =>
                                                  FixtureBook.Expect((FixtureBookAttributeTestData a) => { }
                                                                     ).ValidateParameterAt(2, "xxx"));
 }
Ejemplo n.º 24
0
        public void NULLおよびEMPTYの指定ができること()
        {
            // when
            List<Data> list = new FixtureBook().GetList<Data>();

            // then
            Assert.IsNull(list[0].Text1);
            Assert.IsNull(list[1].Text1);
            Assert.AreEqual("", list[2].Text1);
        }
Ejemplo n.º 25
0
        public void Test_Fixture属性で参照できること()
        {
            // when
            FixtureBookTestData obj = new FixtureBook().GetObject <FixtureBookTestData>();

            // then
            Assert.AreEqual("hij", obj.Text);

            // expect
            Sheet1__複数のメソッドから呼び出しができること();
        }
Ejemplo n.º 26
0
        public void Expectは指定されたラムダ式の実行ができる()
        {
            // setup
            bool called = false;

            // when
            FixtureBook.Expect(() => called = true);

            // then
            Assert.IsTrue(called);
        }
 public void 数値項目が読み込めること()
 {
     FixtureBook.Expect((List <Data> list) =>
     {
         Assert.AreEqual(4, list.Count);
         Assert.AreEqual((decimal)1000.00, list[0].Decimal1);
         Assert.AreEqual((decimal)1000.01, list[1].Decimal1);
         Assert.AreEqual((decimal)1000.02, list[2].Decimal1);
         Assert.AreEqual((decimal)1000.03, list[3].Decimal1);
     });
 }
 public void Boolean項目が読み込めること()
 {
     FixtureBook.Expect((List <Data> list) =>
     {
         Assert.AreEqual(4, list.Count);
         Assert.IsTrue(list[0].Bool1);
         Assert.IsFalse(list[1].Bool1);
         Assert.IsFalse(list[2].Bool1);
         Assert.IsTrue(list[3].Bool1);
     });
 }
Ejemplo n.º 29
0
        public void Expect__引数なしの場合は全くテーブル定義がなくてもなんとなく動作する()
        {
            // setup
            bool called = false;

            // when
            FixtureBook.Expect(() => called = true);

            // then
            Assert.IsTrue(called);
        }
Ejemplo n.º 30
0
        public void GetObjectの呼び出しにより暗黙的にSetupメソッドが呼び出される()
        {
            // setup
            FixtureBook fixtureBook = new FixtureBook();

            // when
            Data data = fixtureBook.GetObject <Data>();

            // then
            Assert.AreEqual("a", data.Text1);
            fixtureBook.ValidateStorage();
        }
Ejemplo n.º 31
0
 public void ExpectReturnで要素数ゼロの配列を検証できる_エラー()
 {
     try
     {
         FixtureBook.ExpectReturn(() => { return(new Data[] { new Data() }); });
         throw new Exception("ここにはこない");
     }
     catch (AssertFailedException e)
     {
         Console.WriteLine(e);
     }
 }
Ejemplo n.º 32
0
        public void ClearCacheはBookインスタンスのキャッシュをクリアする()
        {
            // setup
            var instance1 = Book.GetInstance(BookTest.BookFilePath);

            // when
            FixtureBook.ClearCache();
            var instance2 = Book.GetInstance(BookTest.BookFilePath);

            // then
            Assert.AreNotSame(instance1, instance2);
        }
Ejemplo n.º 33
0
        public void ValidateメソッドはSetupメソッドの暗黙呼び出しを行わないこと()
        {
            // setup
            Loggi.DebugEnabled = true;
            using (Database database = new Database())
            {
                database.ExecuteNonQuery("delete from TypesTable");
                database.Commit();
            }
            FixtureBook fixtureBook = new FixtureBook();

            // when
            Dictionary<string, string> obj = new Dictionary<string, string>();
            obj["Id"] = "1";
            fixtureBook.Validate(obj);

            // then
            using (Database database = new Database())
            {
                Assert.AreEqual(0, database.ExecuteQuery("select * from TypesTable").Rows.Count);
            }

            // when
            fixtureBook.Setup();

            // then
            using (Database database = new Database())
            {
                Assert.AreEqual(1, database.ExecuteQuery("select * from TypesTable").Rows.Count);
            }
        }
Ejemplo n.º 34
0
        private void Sheet1__複数のメソッドから呼び出しができること()
        {
            // when
            FixtureBookTestData obj = new FixtureBook().GetObject<FixtureBookTestData>();

            // then
            Assert.AreEqual("xyz", obj.Text);
        }
Ejemplo n.º 35
0
        public void ValidateStorageの呼び出し時にはSetupメソッドの暗黙呼び出しはされないこと()
        {
            // setup
            Loggi.DebugEnabled = true;
            using (Database database = new Database())
            {
                database.ExecuteNonQuery("delete from TypesTable");
                database.Commit();
            }
            FixtureBook fixtureBook = new FixtureBook();

            // when
            try
            {
                fixtureBook.ValidateStorage();
                throw new Exception("ここにはこない");
            }
            catch (AssertFailedException e)
            {
                Console.WriteLine(e);
            }
        }
Ejemplo n.º 36
0
        public void Test_Fixture属性で参照できること()
        {
            // when
            FixtureBookTestData obj = new FixtureBook().GetObject<FixtureBookTestData>();

            // then
            Assert.AreEqual("hij", obj.Text);

            // expect
            Sheet1__複数のメソッドから呼び出しができること();
        }
Ejemplo n.º 37
0
        public void Sheet2__TestInitializeからの呼び出しができること()
        {
            // when
            FixtureBookTestData obj = new FixtureBook().GetObject<FixtureBookTestData>();

            // then
            Assert.AreEqual("klm", obj.Text);
        }
Ejemplo n.º 38
0
        public void Sheet1__アンダーバー区切りで参照できること()
        {
            // when
            FixtureBookTestData obj = new FixtureBook().GetObject<FixtureBookTestData>();

            // then
            Assert.AreEqual("efg", obj.Text);
        }
Ejemplo n.º 39
0
        public void FixtureBook属性指定をしなくても参照可能なこと()
        {
            // when
            FixtureBookTestData obj = new FixtureBook().GetObject<FixtureBookTestData>();

            // then
            Assert.AreEqual("abc", obj.Text);
        }