Browse Source

Implement EnvDTE.CodeType.Namespace.

pull/28/head
Matt Ward 13 years ago
parent
commit
1ac5d8ed7c
  1. 14
      src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeNamespace.cs
  2. 4
      src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeType.cs
  3. 13
      src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/CodeClass2Tests.cs
  4. 2
      src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/CodeElementsInNamespaceTests.cs
  5. 8
      src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/CodeNamespaceTests.cs
  6. 5
      src/AddIns/Misc/PackageManagement/Test/Src/Helpers/ClassHelper.cs

14
src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeNamespace.cs

@ -10,7 +10,6 @@ namespace ICSharpCode.PackageManagement.EnvDTE @@ -10,7 +10,6 @@ namespace ICSharpCode.PackageManagement.EnvDTE
{
NamespaceName namespaceName;
IProjectContent projectContent;
CodeElementsInNamespace members;
public CodeNamespace(IProjectContent projectContent, string qualifiedName)
: this(projectContent, new NamespaceName(qualifiedName))
@ -29,16 +28,12 @@ namespace ICSharpCode.PackageManagement.EnvDTE @@ -29,16 +28,12 @@ namespace ICSharpCode.PackageManagement.EnvDTE
get { return vsCMElement.vsCMElementNamespace; }
}
internal string QualifiedName {
get { return namespaceName.QualifiedName; }
}
internal NamespaceName NamespaceName {
get { return namespaceName; }
}
public string FullName {
get { return this.Name; }
get { return namespaceName.QualifiedName; }
}
public override string Name {
@ -46,12 +41,7 @@ namespace ICSharpCode.PackageManagement.EnvDTE @@ -46,12 +41,7 @@ namespace ICSharpCode.PackageManagement.EnvDTE
}
public CodeElements Members {
get {
if (members == null) {
members = new CodeElementsInNamespace(projectContent, namespaceName);
}
return members;
}
get { return new CodeElementsInNamespace(projectContent, namespaceName); }
}
}
}

4
src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeType.cs

@ -56,5 +56,9 @@ namespace ICSharpCode.PackageManagement.EnvDTE @@ -56,5 +56,9 @@ namespace ICSharpCode.PackageManagement.EnvDTE
public virtual CodeElements Attributes {
get { return new CodeAttributes(Class); }
}
public virtual CodeNamespace Namespace {
get { return new CodeNamespace(ProjectContent, Class.Namespace); }
}
}
}

13
src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/CodeClass2Tests.cs

@ -223,5 +223,18 @@ namespace PackageManagement.Tests.EnvDTE @@ -223,5 +223,18 @@ namespace PackageManagement.Tests.EnvDTE
Assert.AreEqual(vsCMElement.vsCMElementClass, kind);
}
[Test]
public void Namespace_PublicClass_ReturnsClassNamespace()
{
CreateProjectContent();
helper.CreatePublicClass("MyNamespace.Test.MyClass");
helper.AddClassNamespace("MyNamespace.Test");
CreateClass();
CodeNamespace codeNamespace = codeClass.Namespace;
Assert.AreEqual("MyNamespace.Test", codeNamespace.FullName);
}
}
}

2
src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/CodeElementsInNamespaceTests.cs

@ -59,7 +59,7 @@ namespace PackageManagement.Tests.EnvDTE @@ -59,7 +59,7 @@ namespace PackageManagement.Tests.EnvDTE
Assert.AreEqual(1, codeElements.Count);
Assert.AreEqual("Child", codeNamespace.Name);
Assert.AreEqual("Child", codeNamespace.FullName);
Assert.AreEqual("Parent.Child", codeNamespace.FullName);
}
[Test]

8
src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/CodeNamespaceTests.cs

@ -62,7 +62,7 @@ namespace PackageManagement.Tests.EnvDTE @@ -62,7 +62,7 @@ namespace PackageManagement.Tests.EnvDTE
Assert.AreEqual("First", codeNamespace.Name);
Assert.AreEqual(1, members.Count);
Assert.AreEqual("Second", childNamespace.Name);
Assert.AreEqual("Second", childNamespace.FullName);
Assert.AreEqual("First.Second", childNamespace.FullName);
}
[Test]
@ -90,9 +90,9 @@ namespace PackageManagement.Tests.EnvDTE @@ -90,9 +90,9 @@ namespace PackageManagement.Tests.EnvDTE
Assert.AreEqual("First", codeNamespace.Name);
Assert.AreEqual(1, members.Count);
Assert.AreEqual("Second", secondNamespace.Name);
Assert.AreEqual("Second", secondNamespace.FullName);
Assert.AreEqual("First.Second", secondNamespace.FullName);
Assert.AreEqual(1, secondNamespace.Members.Count);
Assert.AreEqual("Third", thirdNamespace.FullName);
Assert.AreEqual("First.Second.Third", thirdNamespace.FullName);
Assert.AreEqual(0, thirdNamespace.Members.Count);
}
@ -110,7 +110,7 @@ namespace PackageManagement.Tests.EnvDTE @@ -110,7 +110,7 @@ namespace PackageManagement.Tests.EnvDTE
Assert.AreEqual("First", codeNamespace.Name);
Assert.AreEqual(1, members.Count);
Assert.AreEqual("Second", secondNamespace.Name);
Assert.AreEqual("Second", secondNamespace.FullName);
Assert.AreEqual("First.Second", secondNamespace.FullName);
Assert.AreEqual(2, secondNamespace.Members.Count);
}

5
src/AddIns/Misc/PackageManagement/Test/Src/Helpers/ClassHelper.cs

@ -121,5 +121,10 @@ namespace PackageManagement.Tests.Helpers @@ -121,5 +121,10 @@ namespace PackageManagement.Tests.Helpers
fields.Add(helper.Field);
}
public void AddClassNamespace(string name)
{
Class.Stub(c => c.Namespace).Return(name);
}
}
}

Loading…
Cancel
Save