public void CodeGeneratorProperties()
		{
			ProjectContentRegistry registry = new ProjectContentRegistry();
			IProjectContent mscorlibProjectContent = registry.Mscorlib;
			IClass exceptionClass = mscorlibProjectContent.GetClass("System.Exception", 0);
			
			DefaultProjectContent projectContent = new DefaultProjectContent();
			DefaultCompilationUnit unit = new DefaultCompilationUnit(projectContent);
			DefaultClass c = new DefaultClass(unit, "MyException");
			c.BaseTypes.Add(new DefaultReturnType(exceptionClass));
			
			MockProject project = new MockProject();
			ProjectService.CurrentProject = project;
			
			OverridePropertiesCodeGenerator codeGenerator = new OverridePropertiesCodeGenerator();
			codeGenerator.Initialize(c);
			
			List<string> properties = new List<string>();
			foreach (object o in codeGenerator.Content) {
				properties.Add(o.ToString());
			}
			
			List<string> expectedProperties = new List<string>();
			expectedProperties.Add("Data");
			expectedProperties.Add("HelpLink");
			expectedProperties.Add("Message");
			expectedProperties.Add("Source");
			expectedProperties.Add("StackTrace");
			
			Assert.AreEqual(expectedProperties.ToArray(), properties.ToArray());
		}
		public void CodeGeneratorMethods()
		{
			ProjectContentRegistry registry = new ProjectContentRegistry();
			IProjectContent mscorlibProjectContent = registry.Mscorlib;
			IClass collectionClass = mscorlibProjectContent.GetClass("System.Collections.ObjectModel.Collection", 1);
			
			DefaultProjectContent projectContent = new DefaultProjectContent();
			DefaultCompilationUnit unit = new DefaultCompilationUnit(projectContent);
			DefaultClass c = new DefaultClass(unit, "MyCollection");
			c.BaseTypes.Add(new DefaultReturnType(collectionClass));
			
			MockProject project = new MockProject();
			ProjectService.CurrentProject = project;
			
			OverrideMethodsCodeGenerator codeGenerator = new OverrideMethodsCodeGenerator();
			codeGenerator.Initialize(c);
			
			List<string> methods = new List<string>();
			foreach (object o in codeGenerator.Content) {
				methods.Add(o.ToString());
			}
			
			List<string> expectedMethods = new List<string>();
			expectedMethods.Add("ClearItems");
			expectedMethods.Add("Equals");
			expectedMethods.Add("Finalize");
			expectedMethods.Add("GetHashCode");
			expectedMethods.Add("InsertItem");
			expectedMethods.Add("RemoveItem");
			expectedMethods.Add("SetItem");
			expectedMethods.Add("ToString");
			
			Assert.AreEqual(expectedMethods.ToArray(), methods.ToArray());
		}