Click here to Skip to main content
15,886,801 members
Articles / Web Development / ASP.NET

MbUnit : Generative Unit Test Framework

Rate me:
Please Sign up or sign in to vote.
4.70/5 (38 votes)
15 Apr 20046 min read 221.7K   496   120  
A new highly flexible unit test framework with new fixtures
using System;
using System.Reflection;

namespace GUnit.Core.Collections
{
	/// <summary>
	/// A dictionary with keys of type Assembly and values of type TypeCollection
	/// </summary>
	public class AssemblyTypeCollectionDictionary: System.Collections.DictionaryBase
	{
		/// <summary>
		/// Initializes a new empty instance of the AssemblyTypeCollectionDictionary class
		/// </summary>
		public AssemblyTypeCollectionDictionary()
		{
			// empty
		}

		/// <summary>
		/// Gets or sets the TypeCollection associated with the given Assembly
		/// </summary>
		/// <param name="key">
		/// The Assembly whose value to get or set.
		/// </param>
		public virtual TypeCollection this[Assembly key]
		{
			get
			{
				return (TypeCollection) this.Dictionary[key];
			}
			set
			{
				this.Dictionary[key] = value;
			}
		}

		/// <summary>
		/// Adds an element with the specified key and value to this AssemblyTypeCollectionDictionary.
		/// </summary>
		/// <param name="key">
		/// The Assembly key of the element to add.
		/// </param>
		/// <param name="value">
		/// The TypeCollection value of the element to add.
		/// </param>
		public virtual void Add(Assembly key, TypeCollection value)
		{
			this.Dictionary.Add(key, value);
		}

		/// <summary>
		/// Determines whether this AssemblyTypeCollectionDictionary contains a specific key.
		/// </summary>
		/// <param name="key">
		/// The Assembly key to locate in this AssemblyTypeCollectionDictionary.
		/// </param>
		/// <returns>
		/// true if this AssemblyTypeCollectionDictionary contains an element with the specified key;
		/// otherwise, false.
		/// </returns>
		public virtual bool Contains(Assembly key)
		{
			return this.Dictionary.Contains(key);
		}

		/// <summary>
		/// Determines whether this AssemblyTypeCollectionDictionary contains a specific key.
		/// </summary>
		/// <param name="key">
		/// The Assembly key to locate in this AssemblyTypeCollectionDictionary.
		/// </param>
		/// <returns>
		/// true if this AssemblyTypeCollectionDictionary contains an element with the specified key;
		/// otherwise, false.
		/// </returns>
		public virtual bool ContainsKey(Assembly key)
		{
			return this.Dictionary.Contains(key);
		}

		/// <summary>
		/// Determines whether this AssemblyTypeCollectionDictionary contains a specific value.
		/// </summary>
		/// <param name="value">
		/// The TypeCollection value to locate in this AssemblyTypeCollectionDictionary.
		/// </param>
		/// <returns>
		/// true if this AssemblyTypeCollectionDictionary contains an element with the specified value;
		/// otherwise, false.
		/// </returns>
		public virtual bool ContainsValue(TypeCollection value)
		{
			foreach (TypeCollection item in this.Dictionary.Values)
			{
				if (item == value)
					return true;
			}
			return false;
		}

		/// <summary>
		/// Removes the element with the specified key from this AssemblyTypeCollectionDictionary.
		/// </summary>
		/// <param name="key">
		/// The Assembly key of the element to remove.
		/// </param>
		public virtual void Remove(Assembly key)
		{
			this.Dictionary.Remove(key);
		}

		/// <summary>
		/// Gets a collection containing the keys in this AssemblyTypeCollectionDictionary.
		/// </summary>
		public virtual System.Collections.ICollection Keys
		{
			get
			{
				return this.Dictionary.Keys;
			}
		}

		/// <summary>
		/// Gets a collection containing the values in this AssemblyTypeCollectionDictionary.
		/// </summary>
		public virtual System.Collections.ICollection Values
		{
			get
			{
				return this.Dictionary.Values;
			}
		}
	}

}

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here


Written By
Engineer
United States United States
Jonathan de Halleux is Civil Engineer in Applied Mathematics. He finished his PhD in 2004 in the rainy country of Belgium. After 2 years in the Common Language Runtime (i.e. .net), he is now working at Microsoft Research on Pex (http://research.microsoft.com/pex).

Comments and Discussions