単体テストを作成するサンプル プロジェクトSample Project for Creating Unit Tests

このサンプル コードは、次のチュートリアルで使用するために用意されています。This sample code is provided for use in the following walkthroughs:

サンプル コードSample Code

このサンプルにある唯一の意図的なエラーは、Debit メソッドで、"m_balance += amount" の等号の前はプラス (+) ではなくマイナス (-) にする必要があるということです。The only intentional error in this sample is that the in Debit method "m_balance += amount" should have a minus not a plus sign before the equals sign.

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);  
        }  

    }  
}  

/* 例として登場する企業、組織、製品、ドメイン名、電子メール アドレス、ロゴ、人物、場所、およびイベントはすべて架空のものです。/* The example companies, organizations, products, domain names, e-mail addresses, logos, people, places, and events depicted herein are fictitious. 実在する会社、組織、製品、ドメイン名、電子メールアドレス、ロゴ、人物、場所、イベントなどとは一切関係ありません。No association with any real company, organization, product, domain name, email address, logo, person, places, or events is intended or should be inferred. */*/

コードの操作Working with the Code

このコードを操作するには、必要なプロジェクトを Visual StudioVisual Studio で作成する必要があります。To work with this code, you first have to create a project for it in Visual StudioVisual Studio. チュートリアル: マネージ コードに対する単体テストの作成と実行」の「チュートリアルを準備する」の手順に従います。Follow the steps in the "Prepare the Walkthrough" section in Walkthrough: Creating and Running Unit Tests for Managed Code.

参照See Also

チュートリアル: マネージ コードに対する単体テストの作成と実行 Walkthrough: Creating and Running Unit Tests for Managed Code
チュートリアル: テストの実行とコード カバレッジの表示 Walkthrough: Run tests and view code coverage
チュートリアル : コマンド ライン テスト ユーティリティの使用Walkthrough: using the command-line test utility