Browse Source

Implement EnvDTE.CodeElements.Item method.

pull/28/head
Matt Ward 14 years ago
parent
commit
29171ff062
  1. 2
      src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeElements.cs
  2. 19
      src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeElementsInNamespace.cs
  3. 22
      src/AddIns/Misc/PackageManagement/Test/Src/EnvDTE/CodeElementsInNamespaceTests.cs

2
src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeElements.cs

@ -11,5 +11,7 @@ namespace ICSharpCode.PackageManagement.EnvDTE
new IEnumerator GetEnumerator(); new IEnumerator GetEnumerator();
int Count { get; } int Count { get; }
CodeElement Item(object index);
} }
} }

19
src/AddIns/Misc/PackageManagement/Project/Src/EnvDTE/CodeElementsInNamespace.cs

@ -4,6 +4,7 @@
using System; using System;
using System.Collections; using System.Collections;
using System.Collections.Generic; using System.Collections.Generic;
using System.Linq;
using ICSharpCode.SharpDevelop.Dom; using ICSharpCode.SharpDevelop.Dom;
@ -71,5 +72,23 @@ namespace ICSharpCode.PackageManagement.EnvDTE
{ {
return codeElements.GetEnumerator(); return codeElements.GetEnumerator();
} }
public CodeElement Item(object index)
{
if (index is int) {
return Item((int)index);
}
return Item((string)index);
}
CodeElement Item(int index)
{
return codeElements[index - 1];
}
CodeElement Item(string name)
{
return codeElements.Single(element => element.Name == name);
}
} }
} }

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

@ -110,5 +110,27 @@ namespace PackageManagement.Tests.EnvDTE
Assert.AreEqual("GrandChild", grandChildNamespace.Name); Assert.AreEqual("GrandChild", grandChildNamespace.Name);
} }
[Test]
public void Item_OneClassCompletionEntryAndFirstItemSelected_ReturnsOneCodeClass()
{
helper.AddClassToProjectContent("Test", "Test.MyClass");
CreateCodeElements("Test");
CodeClass2 codeClass = codeElements.Item(1) as CodeClass2;
Assert.AreEqual("Test.MyClass", codeClass.FullName);
}
[Test]
public void Item_OneClassCompletionEntryAndItemSelectedByName_ReturnsOneCodeClass()
{
helper.AddClassToProjectContent("Test", "Test.MyClass");
CreateCodeElements("Test");
CodeClass2 codeClass = codeElements.Item("MyClass") as CodeClass2;
Assert.AreEqual("Test.MyClass", codeClass.FullName);
}
} }
} }

Loading…
Cancel
Save