Ejemplo n.º 1
0
        public void GetOutTaxAmountTest2()
        {
            var context = getTestData();

            try
            {
                // メソッドの実行結果を取得する
                var expected = TestTargetClass.GetOutTaxAmount(context.amount, context.taxRate);
                // 実行結果と期待値を比較する
                Assert.AreEqual(expected, context.actualTaxAmount);

                // 結果をDebug出力する
                writeExecLog(context.no, "TaxAmount", context.actualTaxAmount, expected, true);
            }
            catch (Exception ex)
            {
                // 例外が発生した場合
                // Exceptionの型が想定通りか
                Assert.IsTrue(ex.GetType().Name == context.actualException);
                // Exceptionのメッセージ内容が想定通りか(改行を除去して比較)
                Assert.AreEqual(ex.Message.Replace("\r\n", ""), context.actualMessage);

                // 結果をDebug出力する
                writeExecLog(context.no, "Exception", context.actualException, ex.GetType().Name, true);
                writeExecLog(context.no, "Message", context.actualMessage, ex.Message.Replace("\r\n", ""), false);
            }
        }
Ejemplo n.º 2
0
        public void GetOutTaxAmount_ExceptionTest2()
        {
            decimal amount  = 1000;
            decimal taxRate = 10;    // 現在の消費税率10%だから10って渡す人がいるんだよね

            // メソッドの実行結果を取得する
            Assert.ThrowsException <ArgumentOutOfRangeException>(() => TestTargetClass.GetOutTaxAmount(amount, taxRate));
        }
Ejemplo n.º 3
0
        public void GetOutTaxAmount_ExceptionTest1()
        {
            decimal amount  = -1000;   // 人にお金を渡して税金分返ってくるなんて事はないよ?
            decimal taxRate = 0.10m;
            decimal actual  = 1000 * 0.1m;

            // メソッドの実行結果を取得する
            var expected = TestTargetClass.GetOutTaxAmount(amount, taxRate);

            Assert.AreEqual(expected, actual);
        }
Ejemplo n.º 4
0
        public void GetOutTaxAmountTest()
        {
            decimal amount  = 1000;
            decimal taxRate = 0.10m;    // 現在の消費税率10%
            decimal actual  = 1000 * 0.1m;

            // 最大値とか最小値とか境界値のテストをしたいから
            // ここでamountの値とか変えて何度も実行したらいいか!
            // ってやっちゃダメです。

            // メソッドの実行結果を取得する
            var expected = TestTargetClass.GetOutTaxAmount(amount, taxRate);

            Assert.AreEqual(expected, actual);
        }
Ejemplo n.º 5
0
        public void GetOutTaxAmount_ExceptionTest3()
        {
            decimal amount        = 1000;
            decimal taxRate       = 10; // 現在の消費税率10%だから10って渡す人がいるんだよね
            string  actualMessage = "税率は0.01~0.99の間で指定してください\r\nパラメーター名:taxRate";

            try
            {
                // メソッドの実行結果を取得する
                var expected = TestTargetClass.GetOutTaxAmount(amount, taxRate);
            }
            catch (Exception ex)
            {
                Assert.IsTrue(ex.GetType() == typeof(ArgumentOutOfRangeException));
                Assert.AreEqual(ex.Message, actualMessage);
            }
        }
Ejemplo n.º 6
0
        public void GetOutTaxAmountTest()
        {
            #region テストデータ取得
            string  no = TestContext.DataRow["No"].ToString();
            decimal amount;
            decimal taxRate;
            decimal actualTaxAmount;
            string  actualException = TestContext.DataRow["Exception"].ToString();
            string  actualMessage   = TestContext.DataRow["ExceptionMessage"].ToString();
            // テストデータの型が正しくない場合はテスト失敗
            if (!decimal.TryParse(TestContext.DataRow["Amount"].ToString(), out amount))
            {
                Assert.Fail("amountが数値ではありません");
            }
            if (!decimal.TryParse(TestContext.DataRow["TaxRate"].ToString(), out taxRate))
            {
                Assert.Fail("taxRateが数値ではありません");
            }
            if (!decimal.TryParse(TestContext.DataRow["TaxAmount"].ToString(), out actualTaxAmount))
            {
                Assert.Fail("actualTaxAmountが数値ではありません");
            }
            #endregion
            try
            {
                // メソッドの実行結果を取得する
                var expected = TestTargetClass.GetOutTaxAmount(amount, taxRate);
                // 実行結果と期待値を比較する
                Assert.AreEqual(expected, actualTaxAmount);

                // 結果をDebug出力する
                var msg = string.Format("{0},{1},{2},{3},{4}"
                                        , no
                                        , "TaxAmount"
                                        , actualTaxAmount
                                        , expected
                                        , actualTaxAmount == expected
                                        );
                Debug.WriteLine("No,項目名,期待値,実行結果,期待値と実行結果の比較");
                Debug.WriteLine(msg);
            }
            catch (Exception ex)
            {
                // 例外が発生した場合
                // Exceptionの型が想定通りか
                Assert.IsTrue(ex.GetType().Name == actualException);
                // Exceptionのメッセージ内容が想定通りか(改行を除去して比較)
                Assert.AreEqual(ex.Message.Replace("\r\n", ""), actualMessage);

                // 結果をDebug出力する
                Debug.WriteLine("No,項目名,期待値,実行結果,期待値と実行結果の比較");
                var msg = string.Format("{0},{1},{2},{3},{4}"
                                        , no
                                        , "Exception"
                                        , actualException
                                        , ex.GetType().Name
                                        , actualException == ex.GetType().Name
                                        );
                Debug.WriteLine(msg);
                msg = string.Format("{0},{1},{2},{3},{4}"
                                    , no
                                    , "Message"
                                    , actualMessage
                                    , ex.Message.Replace("\r\n", "")
                                    , actualMessage == ex.Message.Replace("\r\n", "")
                                    );
                Debug.WriteLine(msg);
            }
        }