public void DotNetNameUsedWhenAddingClasses() { MockClass c = new MockClass("MyTests.MyClass.InnerClass", "MyTests.MyClass+InnerClass"); List<IClass> classes = new List<IClass>(); classes.Add(c); RemovedClasses removedClasses = new RemovedClasses(); removedClasses.Add(classes); removedClasses.Remove(c); Assert.AreEqual(0, removedClasses.GetMissingClasses().Count); }
public void Init() { myClass = new MockClass("MyTests.MyClass"); innerClass = new MockClass("MyTests.MyClass.InnerClass", "MyTests.MyClass+InnerClass"); myClass.InnerClasses.Add(innerClass); anotherClass = new MockClass("MyTests.AnotherClass"); List<IClass> classes = new List<IClass>(); classes.Add(myClass); classes.Add(anotherClass); removedClasses = new RemovedClasses(); removedClasses.Add(classes); }
/// <summary> /// Updates the classes and methods based on the new parse information. /// </summary> /// <param name="oldUnit">The old compiliation unit /// (ParseInformationEventArgs.ParseInformation.BestCompilationUnit as ICompilationUnit)</param> /// <param name="newUnit">The new compilation unit /// (ParseInformationEventArgs.CompilationUnit).</param> public void UpdateParseInfo(ICompilationUnit oldUnit, ICompilationUnit newUnit) { if (!IsParseInfoForThisProject(oldUnit, newUnit)) { return; } RemovedClasses removedClasses = new RemovedClasses(); if (oldUnit != null) { removedClasses.Add(oldUnit.Classes); } if (newUnit != null) { foreach (IClass c in newUnit.Classes) { UpdateTestClass(c); foreach (IClass innerClass in new InnerClassEnumerator(c)) { UpdateTestClass(innerClass); removedClasses.Remove(innerClass); } removedClasses.Remove(c); } } // Remove missing classes. foreach (IClass c in removedClasses.GetMissingClasses()) { IClass existingClass = GetExistingTestClassInProject(c); if (existingClass != null) { UpdateTestClass(existingClass); } else { TestClasses.Remove(c.DotNetName); } } }
/// <summary> /// Updates the classes and methods based on the new parse information. /// </summary> /// <param name="oldUnit">The old compiliation unit /// (ParseInformationEventArgs.ParseInformation.BestCompilationUnit as ICompilationUnit)</param> /// <param name="newUnit">The new compilation unit /// (ParseInformationEventArgs.CompilationUnit).</param> public void UpdateParseInfo(ICompilationUnit oldUnit, ICompilationUnit newUnit) { if (!IsParseInfoForThisProject(oldUnit, newUnit)) { return; } RemovedClasses removedClasses = new RemovedClasses(); if (oldUnit != null) { removedClasses.Add(oldUnit.Classes); } if (newUnit != null) { foreach (IClass c in newUnit.Classes) { UpdateTestClass(c); foreach (IClass innerClass in c.InnerClasses) { UpdateTestClass(innerClass); removedClasses.Remove(innerClass); } removedClasses.Remove(c); } } // Remove missing classes. foreach (IClass c in removedClasses.GetMissingClasses()) { IClass existingClass = GetExistingTestClassInProject(c); if (existingClass != null) { UpdateTestClass(existingClass); } else { TestClasses.Remove(c.DotNetName); } } }