public void FindByValue_CollectionEmpty()
		{
			Dictionary<int, string> collection = new Dictionary<int, string>();

			Dictionary<int, string> foundItems = collection.FindByValue("d");

			Assert.IsTrue(foundItems != null && foundItems.Count == 0);
		}
		public void FindByValue_ItemExistsMoreThanOnce()
		{
			Dictionary<int, string> collection = new Dictionary<int, string>();
			collection.Add(0, "a");
			collection.Add(1, "b");
			collection.Add(2, "c");
			collection.Add(3, "c");
			collection.Add(4, "c");

			Dictionary<int, string> foundItems = collection.FindByValue("c");

			Assert.IsTrue(foundItems.Count == 3);
			Assert.IsTrue(foundItems.ContainsKey(2) && foundItems[2] == "c");
			Assert.IsTrue(foundItems.ContainsKey(3) && foundItems[3] == "c");
			Assert.IsTrue(foundItems.ContainsKey(4) && foundItems[4] == "c");

		}
		public void FindByValue_EqualityOnDerivation()
		{
			Dictionary<int, object> collection = new Dictionary<int,object>();
			collection.Add(0, new object());
			collection.Add(1, 1);
			collection.Add(2, "a");

			Dictionary<int, object> foundItems = collection.FindByValue("a");

			Assert.IsTrue(foundItems.Count == 1);
		}
		public void FindByValue_ItemDoesNotExist()
		{
			Dictionary<int, string> collection = new Dictionary<int, string>();
			collection.Add(0, "a");
			collection.Add(1, "b");
			collection.Add(2, "c");

			Dictionary<int, string> foundItems = collection.FindByValue("d");

			Assert.IsTrue(foundItems.Count == 0);
		}