単体テストを作成するサンプル プロジェクト

このサンプル コードは、次のチュートリアルで使用するために用意されています。

サンプル コード

このサンプルにある唯一の意図的なエラーは、Debit メソッドで、"m_balance += amount" の等号の前はプラス (+) ではなくマイナス (-) にする必要があるということです。

using System;   

namespace BankAccountNS  
{  
    /// <summary>   
    /// Bank Account demo class.   
    /// </summary>   
    public class BankAccount  
    {  
        private string m_customerName;  

        private double m_balance;  

        private bool m_frozen = false;  

        private BankAccount()  
        {  
        }  

        public BankAccount(string customerName, double balance)  
        {  
            m_customerName = customerName;  
            m_balance = balance;  
        }  

        public string CustomerName  
        {  
            get { return m_customerName; }  
        }  

        public double Balance  
        {  
            get { return m_balance; }  
        }  

        public void Debit(double amount)  
        {  
            if (m_frozen)  
            {  
                throw new Exception("Account frozen");  
            }  

            if (amount > m_balance)  
            {  
                throw new ArgumentOutOfRangeException("amount");  
            }  

            if (amount < 0)  
            {  
                throw new ArgumentOutOfRangeException("amount");  
            }  

            m_balance += amount; // intentionally incorrect code  
        }  

        public void Credit(double amount)  
        {  
            if (m_frozen)  
            {  
                throw new Exception("Account frozen");  
            }  

            if (amount < 0)  
            {  
                throw new ArgumentOutOfRangeException("amount");  
            }  

            m_balance += amount;  
        }  

        private void FreezeAccount()  
        {  
            m_frozen = true;  
        }  

        private void UnfreezeAccount()  
        {  
            m_frozen = false;  
        }  

        public static void Main()  
        {  
            BankAccount ba = new BankAccount("Mr. Bryan Walton", 11.99);   

            ba.Credit(5.77);  
            ba.Debit(11.22);  
            Console.WriteLine("Current balance is ${0}", ba.Balance);  
        }  

    }  
}  

/* 例として登場する企業、組織、製品、ドメイン名、電子メール アドレス、ロゴ、人物、場所、およびイベントはすべて架空のものです。 実在する会社、組織、製品、ドメイン名、電子メールアドレス、ロゴ、人物、場所、イベントなどとは一切関係ありません。 */

コードの操作

このコードを操作するには、必要なプロジェクトを Visual Studio で作成する必要があります。 「チュートリアル: マネージ コードに対する単体テストの作成と実行」の「チュートリアルを準備する」の手順に従います。

関連項目

チュートリアル: マネージ コードに対する単体テストの作成と実行
チュートリアル: テストの実行とコード カバレッジの表示
チュートリアル : コマンド ライン テスト ユーティリティの使用