Share via


Progetto di esempio per la creazione di unit test

L'esempio "Woodgrove Bank" è un codice per compilare un programma semplice.È possibile in seguito generare degli unit test per verificare vari metodi, sia pubblici che privati, del programma Woodgrove Bank.

Questo codice di esempio viene fornito per le seguenti procedure dettagliate:

Nota L'unico errore intenzionale di questo esempio è che nel metodo Debit "m_balance += amount" dovrebbe esserci un segno meno e non più prima del segno di uguale.

Codice di esempio

Il codice più aggiornato per questo esempio viene riportato di seguito.

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

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

    }
}

/* Ogni riferimento a società, organizzazioni, prodotti, nomi di dominio, indirizzi di posta elettronica, logo, persone, luoghi ed eventi è puramente casuale.Nessuna associazione con nessuna società, organizzazione, prodotto, nome di dominio, indirizzo di posta elettronica, logo, persona, luogo o evento è intenzionale o può essere presupposta.*/

Utilizzo del codice

Per utilizzare questo codice, è necessario avere prima creato un progetto apposito in Visual Studio.Completare i passaggi nella sezione "Preparazione per la procedura dettagliata" in Procedura dettagliata: creazione ed esecuzione di unit test per codice gestito.

Vedere anche

Attività

Procedura dettagliata: creazione ed esecuzione di unit test per codice gestito

Procedura dettagliata: utilizzo dell'utilità di test della riga di comando

Altre risorse

Procedura dettagliata: eseguire test e visualizzare il code coverage