1
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
2
// This code is distributed under the GNU LGPL (for details please see \doc\license.txt)
5
using System.Collections.Generic;
6
using ICSharpCode.PythonBinding;
7
using ICSharpCode.Scripting.Tests.Utils;
8
using ICSharpCode.SharpDevelop.Dom;
10
using PythonBinding.Tests;
11
using PythonBinding.Tests.Utils;
13
namespace PythonBinding.Tests.Resolver
16
/// Tests the PythonResolver returns the correct namespaces for
17
/// an import statement when the user presses Ctrl+Space.
20
public class ResolveImportsTestFixture
22
List<ICompletionEntry> results;
23
PythonResolver resolver;
24
MockProjectContent mockProjectContent;
27
public void SetUpFixture()
29
resolver = new PythonResolver();
30
mockProjectContent = new MockProjectContent();
31
List<ICompletionEntry> namespaceItems = new List<ICompletionEntry>();
32
namespaceItems.Add(new NamespaceEntry("Test"));
33
mockProjectContent.AddExistingNamespaceContents(String.Empty, namespaceItems);
35
ParseInformation parseInfo = new ParseInformation(new DefaultCompilationUnit(mockProjectContent));
37
results = resolver.CtrlSpace(0, "import".Length, parseInfo, "import", ExpressionContext.Namespace);
41
public void NamespaceName()
43
Assert.AreEqual(String.Empty, mockProjectContent.NamespacePassedToGetNamespaceContentsMethod);
47
public void TestNamespaceAdded()
49
Assert.Contains(new NamespaceEntry("Test"), results);
53
public void ContainsSysModule()
55
Assert.Contains(new NamespaceEntry("sys"), results);