Browse Source
git-svn-id: svn://svn.sharpdevelop.net/sharpdevelop/trunk@5520 1ccf3a8d-04fe-1044-b7c0-cef0b8235c61pull/1/head
36 changed files with 1409 additions and 504 deletions
@ -0,0 +1,60 @@
@@ -0,0 +1,60 @@
|
||||
// <file>
|
||||
// <copyright see="prj:///doc/copyright.txt"/>
|
||||
// <license see="prj:///doc/license.txt"/>
|
||||
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
|
||||
// <version>$Revision$</version>
|
||||
// </file>
|
||||
|
||||
using System; |
||||
using System.Collections; |
||||
using System.Collections.Generic; |
||||
using ICSharpCode.PythonBinding; |
||||
using ICSharpCode.SharpDevelop.Dom; |
||||
using ICSharpCode.SharpDevelop.Dom.CSharp; |
||||
using NUnit.Framework; |
||||
using PythonBinding.Tests.Utils; |
||||
|
||||
namespace PythonBinding.Tests.Resolver |
||||
{ |
||||
[TestFixture] |
||||
public class ResolveFromSystemImportEverythingFixture : ResolveTestFixtureBase |
||||
{ |
||||
MockClass consoleClass; |
||||
|
||||
protected override ExpressionResult GetExpressionResult() |
||||
{ |
||||
consoleClass = new MockClass(projectContent, "System.Console"); |
||||
projectContent.ClassToReturnFromGetClass = consoleClass; |
||||
projectContent.ClassNameForGetClass = "System.Console"; |
||||
|
||||
List<ICompletionEntry> namespaceItems = new List<ICompletionEntry>(); |
||||
projectContent.AddExistingNamespaceContents("System", namespaceItems); |
||||
|
||||
return new ExpressionResult("Console", ExpressionContext.Default); |
||||
} |
||||
|
||||
protected override string GetPythonScript() |
||||
{ |
||||
return |
||||
"from System import *\r\n" + |
||||
"Console\r\n" + |
||||
"\r\n"; |
||||
} |
||||
|
||||
[Test] |
||||
public void ResolveResultResolvedClassIsConsoleClass() |
||||
{ |
||||
Assert.AreEqual(consoleClass, TypeResolveResult.ResolvedClass); |
||||
} |
||||
|
||||
TypeResolveResult TypeResolveResult { |
||||
get { return (TypeResolveResult)resolveResult; } |
||||
} |
||||
|
||||
[Test] |
||||
public void ProjectContentNamespaceExistsReturnsTrueForSystem() |
||||
{ |
||||
Assert.IsTrue(projectContent.NamespaceExists("System")); |
||||
} |
||||
} |
||||
} |
||||
@ -1,84 +0,0 @@
@@ -1,84 +0,0 @@
|
||||
// <file>
|
||||
// <copyright see="prj:///doc/copyright.txt"/>
|
||||
// <license see="prj:///doc/license.txt"/>
|
||||
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
|
||||
// <version>$Revision$</version>
|
||||
// </file>
|
||||
|
||||
using System; |
||||
using System.Collections; |
||||
using ICSharpCode.PythonBinding; |
||||
using ICSharpCode.SharpDevelop.Dom; |
||||
using NUnit.Framework; |
||||
using PythonBinding.Tests; |
||||
using PythonBinding.Tests.Utils; |
||||
|
||||
namespace PythonBinding.Tests.Resolver |
||||
{ |
||||
/// <summary>
|
||||
/// Tests the PythonResolver correctly resolves the expression:
|
||||
/// "Console." when the System namespace is imported.
|
||||
/// </summary>
|
||||
[TestFixture] |
||||
public class ResolveConsoleTestFixture |
||||
{ |
||||
PythonResolver resolver; |
||||
MockProjectContent mockProjectContent; |
||||
ResolveResult resolveResult; |
||||
MockClass testClass; |
||||
ICompilationUnit compilationUnit; |
||||
MockClass systemConsoleClass; |
||||
|
||||
[TestFixtureSetUp] |
||||
public void SetUpFixture() |
||||
{ |
||||
resolver = new PythonResolver(); |
||||
mockProjectContent = new MockProjectContent(); |
||||
|
||||
// Do not return any class from GetClass call. This method
|
||||
// will not return anything in the real class since the
|
||||
// type is not fully qualified with its namespace.
|
||||
mockProjectContent.ClassToReturnFromGetClass = null; |
||||
|
||||
systemConsoleClass = new MockClass(mockProjectContent, "System.Console"); |
||||
mockProjectContent.ClassesInProjectContent.Add(systemConsoleClass); |
||||
|
||||
compilationUnit = new DefaultCompilationUnit(mockProjectContent) { ErrorsDuringCompile = true }; |
||||
testClass = new MockClass(compilationUnit, "Test"); |
||||
compilationUnit.Classes.Add(testClass); |
||||
ParseInformation parseInfo = new ParseInformation(compilationUnit); |
||||
|
||||
string python = "import System\r\n" + |
||||
"class Test:\r\n" + |
||||
"\tdef __init__(self):\r\n" + |
||||
"\tConsole\r\n"; |
||||
ExpressionResult expressionResult = new ExpressionResult("Console", new DomRegion(3, 7), null, null); |
||||
resolveResult = resolver.Resolve(expressionResult, parseInfo, python); |
||||
} |
||||
|
||||
[Test] |
||||
public void IsTypeResolveResult() |
||||
{ |
||||
Assert.IsInstanceOf(typeof(TypeResolveResult), resolveResult); |
||||
} |
||||
|
||||
[Test] |
||||
public void ResolvedClass() |
||||
{ |
||||
TypeResolveResult typeResolveResult = resolveResult as TypeResolveResult; |
||||
Assert.AreEqual(systemConsoleClass, typeResolveResult.ResolvedClass); |
||||
} |
||||
//
|
||||
// [Test]
|
||||
// public void IsGetClassCalled()
|
||||
// {
|
||||
// Assert.IsTrue(mockProjectContent.GetClassCalled);
|
||||
// }
|
||||
//
|
||||
// [Test]
|
||||
// public void GetClassName()
|
||||
// {
|
||||
// Assert.AreEqual("System.Console", mockProjectContent.GetClassName);
|
||||
// }
|
||||
} |
||||
} |
||||
@ -0,0 +1,55 @@
@@ -0,0 +1,55 @@
|
||||
// <file>
|
||||
// <copyright see="prj:///doc/copyright.txt"/>
|
||||
// <license see="prj:///doc/license.txt"/>
|
||||
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
|
||||
// <version>$Revision$</version>
|
||||
// </file>
|
||||
|
||||
using System; |
||||
using System.Collections; |
||||
using System.Collections.Generic; |
||||
using ICSharpCode.PythonBinding; |
||||
using ICSharpCode.SharpDevelop.Dom; |
||||
using ICSharpCode.SharpDevelop.Dom.CSharp; |
||||
using NUnit.Framework; |
||||
using PythonBinding.Tests.Utils; |
||||
|
||||
namespace PythonBinding.Tests.Resolver |
||||
{ |
||||
[TestFixture] |
||||
public class ResolveTextBoxFromSystemWindowsFormsImportedAsFooTestFixture : ResolveTestFixtureBase |
||||
{ |
||||
protected override ExpressionResult GetExpressionResult() |
||||
{ |
||||
MockClass textBoxClass = new MockClass(projectContent, "System.Windows.Forms.TextBox"); |
||||
projectContent.ClassToReturnFromGetClass = textBoxClass; |
||||
projectContent.ClassNameForGetClass = "System.Windows.Forms.TextBox"; |
||||
|
||||
return new ExpressionResult("Foo.TextBox", ExpressionContext.Default); |
||||
} |
||||
|
||||
protected override string GetPythonScript() |
||||
{ |
||||
return |
||||
"import System.Windows.Forms as Foo\r\n" + |
||||
"Foo.TextBox\r\n" + |
||||
"\r\n"; |
||||
} |
||||
|
||||
[Test] |
||||
public void ResolveResultIsTypeResolveResult() |
||||
{ |
||||
Assert.IsTrue(resolveResult is TypeResolveResult); |
||||
} |
||||
|
||||
[Test] |
||||
public void ResolveResultResolveClassNameIsTextBox() |
||||
{ |
||||
Assert.AreEqual("TextBox", TypeResolveResult.ResolvedClass.Name); |
||||
} |
||||
|
||||
TypeResolveResult TypeResolveResult { |
||||
get { return (TypeResolveResult)resolveResult; } |
||||
} |
||||
} |
||||
} |
||||
@ -0,0 +1,48 @@
@@ -0,0 +1,48 @@
|
||||
// <file>
|
||||
// <copyright see="prj:///doc/copyright.txt"/>
|
||||
// <license see="prj:///doc/license.txt"/>
|
||||
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
|
||||
// <version>$Revision$</version>
|
||||
// </file>
|
||||
|
||||
using System; |
||||
using System.Collections.Generic; |
||||
using ICSharpCode.PythonBinding; |
||||
using ICSharpCode.SharpDevelop.Dom; |
||||
using NUnit.Framework; |
||||
using PythonBinding.Tests; |
||||
using PythonBinding.Tests.Utils; |
||||
|
||||
namespace PythonBinding.Tests.Resolver |
||||
{ |
||||
[TestFixture] |
||||
public class ResolveFooWindowsWithImportSystemAsFooTestFixture : ResolveTestFixtureBase |
||||
{ |
||||
protected override ExpressionResult GetExpressionResult() |
||||
{ |
||||
MockProjectContent referencedContent = new MockProjectContent(); |
||||
List<ICompletionEntry> namespaceItems = new List<ICompletionEntry>(); |
||||
referencedContent.AddExistingNamespaceContents("System.Windows.Forms", namespaceItems); |
||||
projectContent.ReferencedContents.Add(referencedContent); |
||||
|
||||
return new ExpressionResult("Foo.Windows"); |
||||
} |
||||
|
||||
protected override string GetPythonScript() |
||||
{ |
||||
return |
||||
"import System as Foo\r\n" + |
||||
"Foo.Windows\r\n"; |
||||
} |
||||
|
||||
NamespaceResolveResult NamespaceResolveResult { |
||||
get { return resolveResult as NamespaceResolveResult; } |
||||
} |
||||
|
||||
[Test] |
||||
public void NamespaceResolveResultHasSystemWindowsNamespace() |
||||
{ |
||||
Assert.AreEqual("System.Windows", NamespaceResolveResult.Name); |
||||
} |
||||
} |
||||
} |
||||
@ -0,0 +1,47 @@
@@ -0,0 +1,47 @@
|
||||
// <file>
|
||||
// <copyright see="prj:///doc/copyright.txt"/>
|
||||
// <license see="prj:///doc/license.txt"/>
|
||||
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
|
||||
// <version>$Revision$</version>
|
||||
// </file>
|
||||
|
||||
using System; |
||||
using System.Collections.Generic; |
||||
using ICSharpCode.PythonBinding; |
||||
using ICSharpCode.SharpDevelop.Dom; |
||||
using NUnit.Framework; |
||||
using PythonBinding.Tests.Utils; |
||||
|
||||
namespace PythonBinding.Tests.Resolver |
||||
{ |
||||
[TestFixture] |
||||
public class ResolveSystemNamespaceWithMissingImportTestFixture : ResolveTestFixtureBase |
||||
{ |
||||
protected override ExpressionResult GetExpressionResult() |
||||
{ |
||||
MockClass systemConsoleClass = new MockClass(projectContent, "System.Console"); |
||||
List<ICompletionEntry> namespaceItems = new List<ICompletionEntry>(); |
||||
namespaceItems.Add(systemConsoleClass); |
||||
projectContent.AddExistingNamespaceContents("System", namespaceItems); |
||||
|
||||
return new ExpressionResult("System", ExpressionContext.Default); |
||||
} |
||||
|
||||
protected override string GetPythonScript() |
||||
{ |
||||
return "System\r\n"; |
||||
} |
||||
|
||||
[Test] |
||||
public void ResolveResultIsNullSinceSystemNamespaceIsNotImported() |
||||
{ |
||||
Assert.IsNull(resolveResult); |
||||
} |
||||
|
||||
[Test] |
||||
public void ProjectContentNamespaceExistsReturnsTrueForSystemNamespace() |
||||
{ |
||||
Assert.IsTrue(projectContent.NamespaceExists("System")); |
||||
} |
||||
} |
||||
} |
||||
@ -0,0 +1,48 @@
@@ -0,0 +1,48 @@
|
||||
// <file>
|
||||
// <copyright see="prj:///doc/copyright.txt"/>
|
||||
// <license see="prj:///doc/license.txt"/>
|
||||
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
|
||||
// <version>$Revision$</version>
|
||||
// </file>
|
||||
|
||||
using System; |
||||
using System.Collections.Generic; |
||||
using ICSharpCode.PythonBinding; |
||||
using ICSharpCode.SharpDevelop.Dom; |
||||
using NUnit.Framework; |
||||
using PythonBinding.Tests; |
||||
using PythonBinding.Tests.Utils; |
||||
|
||||
namespace PythonBinding.Tests.Resolver |
||||
{ |
||||
[TestFixture] |
||||
public class ResolveSystemWindowsFormsWithImportSystemTestFixture : ResolveTestFixtureBase |
||||
{ |
||||
protected override ExpressionResult GetExpressionResult() |
||||
{ |
||||
MockProjectContent referencedContent = new MockProjectContent(); |
||||
List<ICompletionEntry> namespaceItems = new List<ICompletionEntry>(); |
||||
referencedContent.AddExistingNamespaceContents("System.Windows.Forms", namespaceItems); |
||||
projectContent.ReferencedContents.Add(referencedContent); |
||||
|
||||
return new ExpressionResult("System.Windows.Forms"); |
||||
} |
||||
|
||||
protected override string GetPythonScript() |
||||
{ |
||||
return |
||||
"import System\r\n" + |
||||
"System.Windows.Forms\r\n"; |
||||
} |
||||
|
||||
NamespaceResolveResult NamespaceResolveResult { |
||||
get { return resolveResult as NamespaceResolveResult; } |
||||
} |
||||
|
||||
[Test] |
||||
public void NamespaceResolveResultHasSystemNamespace() |
||||
{ |
||||
Assert.AreEqual("System.Windows.Forms", NamespaceResolveResult.Name); |
||||
} |
||||
} |
||||
} |
||||
@ -0,0 +1,48 @@
@@ -0,0 +1,48 @@
|
||||
// <file>
|
||||
// <copyright see="prj:///doc/copyright.txt"/>
|
||||
// <license see="prj:///doc/license.txt"/>
|
||||
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
|
||||
// <version>$Revision$</version>
|
||||
// </file>
|
||||
|
||||
using System; |
||||
using System.Collections.Generic; |
||||
using ICSharpCode.PythonBinding; |
||||
using ICSharpCode.SharpDevelop.Dom; |
||||
using NUnit.Framework; |
||||
using PythonBinding.Tests; |
||||
using PythonBinding.Tests.Utils; |
||||
|
||||
namespace PythonBinding.Tests.Resolver |
||||
{ |
||||
[TestFixture] |
||||
public class ResolveSystemWindowsWithImportSystemTestFixture : ResolveTestFixtureBase |
||||
{ |
||||
protected override ExpressionResult GetExpressionResult() |
||||
{ |
||||
MockProjectContent referencedContent = new MockProjectContent(); |
||||
List<ICompletionEntry> namespaceItems = new List<ICompletionEntry>(); |
||||
referencedContent.AddExistingNamespaceContents("System.Windows.Forms", namespaceItems); |
||||
projectContent.ReferencedContents.Add(referencedContent); |
||||
|
||||
return new ExpressionResult("System.Windows"); |
||||
} |
||||
|
||||
protected override string GetPythonScript() |
||||
{ |
||||
return |
||||
"import System\r\n" + |
||||
"System.Windows\r\n"; |
||||
} |
||||
|
||||
NamespaceResolveResult NamespaceResolveResult { |
||||
get { return resolveResult as NamespaceResolveResult; } |
||||
} |
||||
|
||||
[Test] |
||||
public void NamespaceResolveResultHasSystemWindowsNamespace() |
||||
{ |
||||
Assert.AreEqual("System.Windows", NamespaceResolveResult.Name); |
||||
} |
||||
} |
||||
} |
||||
@ -0,0 +1,43 @@
@@ -0,0 +1,43 @@
|
||||
// <file>
|
||||
// <copyright see="prj:///doc/copyright.txt"/>
|
||||
// <license see="prj:///doc/license.txt"/>
|
||||
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
|
||||
// <version>$Revision$</version>
|
||||
// </file>
|
||||
|
||||
using System; |
||||
using System.Collections; |
||||
using ICSharpCode.PythonBinding; |
||||
using ICSharpCode.SharpDevelop.Dom; |
||||
using NUnit.Framework; |
||||
using PythonBinding.Tests; |
||||
using PythonBinding.Tests.Utils; |
||||
|
||||
namespace PythonBinding.Tests.Resolver |
||||
{ |
||||
[TestFixture] |
||||
public class ResolveSystemWithImportSystemWindowsTestFixture : ResolveTestFixtureBase |
||||
{ |
||||
protected override ExpressionResult GetExpressionResult() |
||||
{ |
||||
return new ExpressionResult("System"); |
||||
} |
||||
|
||||
protected override string GetPythonScript() |
||||
{ |
||||
return |
||||
"import System.Windows\r\n" + |
||||
"System\r\n"; |
||||
} |
||||
|
||||
NamespaceResolveResult NamespaceResolveResult { |
||||
get { return resolveResult as NamespaceResolveResult; } |
||||
} |
||||
|
||||
[Test] |
||||
public void NamespaceResolveResultHasSystemNamespace() |
||||
{ |
||||
Assert.AreEqual("System", NamespaceResolveResult.Name); |
||||
} |
||||
} |
||||
} |
||||
@ -0,0 +1,55 @@
@@ -0,0 +1,55 @@
|
||||
// <file>
|
||||
// <copyright see="prj:///doc/copyright.txt"/>
|
||||
// <license see="prj:///doc/license.txt"/>
|
||||
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
|
||||
// <version>$Revision$</version>
|
||||
// </file>
|
||||
|
||||
using System; |
||||
using System.Collections; |
||||
using System.Collections.Generic; |
||||
using ICSharpCode.PythonBinding; |
||||
using ICSharpCode.SharpDevelop.Dom; |
||||
using ICSharpCode.SharpDevelop.Dom.CSharp; |
||||
using NUnit.Framework; |
||||
using PythonBinding.Tests.Utils; |
||||
|
||||
namespace PythonBinding.Tests.Resolver |
||||
{ |
||||
[TestFixture] |
||||
public class ResolveTextBoxFromSystemWindowsFormsImportTextBoxTestFixture : ResolveTestFixtureBase |
||||
{ |
||||
protected override ExpressionResult GetExpressionResult() |
||||
{ |
||||
MockClass textBoxClass = new MockClass(projectContent, "System.Windows.Forms.TextBox"); |
||||
projectContent.ClassToReturnFromGetClass = textBoxClass; |
||||
projectContent.ClassNameForGetClass = "System.Windows.Forms.TextBox"; |
||||
|
||||
return new ExpressionResult("TextBox", ExpressionContext.Default); |
||||
} |
||||
|
||||
protected override string GetPythonScript() |
||||
{ |
||||
return |
||||
"from System.Windows.Forms import TextBox\r\n" + |
||||
"TextBox\r\n" + |
||||
"\r\n"; |
||||
} |
||||
|
||||
[Test] |
||||
public void ResolveResultIsTypeResolveResult() |
||||
{ |
||||
Assert.IsTrue(resolveResult is TypeResolveResult); |
||||
} |
||||
|
||||
[Test] |
||||
public void ResolveResultResolveClassNameIsTextBox() |
||||
{ |
||||
Assert.AreEqual("TextBox", TypeResolveResult.ResolvedClass.Name); |
||||
} |
||||
|
||||
TypeResolveResult TypeResolveResult { |
||||
get { return (TypeResolveResult)resolveResult; } |
||||
} |
||||
} |
||||
} |
||||
@ -0,0 +1,55 @@
@@ -0,0 +1,55 @@
|
||||
// <file>
|
||||
// <copyright see="prj:///doc/copyright.txt"/>
|
||||
// <license see="prj:///doc/license.txt"/>
|
||||
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
|
||||
// <version>$Revision$</version>
|
||||
// </file>
|
||||
|
||||
using System; |
||||
using System.Collections; |
||||
using System.Collections.Generic; |
||||
using ICSharpCode.PythonBinding; |
||||
using ICSharpCode.SharpDevelop.Dom; |
||||
using ICSharpCode.SharpDevelop.Dom.CSharp; |
||||
using NUnit.Framework; |
||||
using PythonBinding.Tests.Utils; |
||||
|
||||
namespace PythonBinding.Tests.Resolver |
||||
{ |
||||
[TestFixture] |
||||
public class ResolveTextBoxFromSystemWindowsFormsImportedAsMyTextBoxTestFixture : ResolveTestFixtureBase |
||||
{ |
||||
protected override ExpressionResult GetExpressionResult() |
||||
{ |
||||
MockClass textBoxClass = new MockClass(projectContent, "System.Windows.Forms.TextBox"); |
||||
projectContent.ClassToReturnFromGetClass = textBoxClass; |
||||
projectContent.ClassNameForGetClass = "System.Windows.Forms.TextBox"; |
||||
|
||||
return new ExpressionResult("MyTextBox", ExpressionContext.Default); |
||||
} |
||||
|
||||
protected override string GetPythonScript() |
||||
{ |
||||
return |
||||
"from System.Windows.Forms import TextBox as MyTextBox\r\n" + |
||||
"MyTextBox\r\n" + |
||||
"\r\n"; |
||||
} |
||||
|
||||
[Test] |
||||
public void ResolveResultIsTypeResolveResult() |
||||
{ |
||||
Assert.IsTrue(resolveResult is TypeResolveResult); |
||||
} |
||||
|
||||
[Test] |
||||
public void ResolveResultResolveClassNameIsTextBox() |
||||
{ |
||||
Assert.AreEqual("TextBox", TypeResolveResult.ResolvedClass.Name); |
||||
} |
||||
|
||||
TypeResolveResult TypeResolveResult { |
||||
get { return (TypeResolveResult)resolveResult; } |
||||
} |
||||
} |
||||
} |
||||
@ -0,0 +1,39 @@
@@ -0,0 +1,39 @@
|
||||
// <file>
|
||||
// <copyright see="prj:///doc/copyright.txt"/>
|
||||
// <license see="prj:///doc/license.txt"/>
|
||||
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
|
||||
// <version>$Revision$</version>
|
||||
// </file>
|
||||
|
||||
using System; |
||||
using ICSharpCode.SharpDevelop.Dom; |
||||
using ICSharpCode.PythonBinding; |
||||
using NUnit.Framework; |
||||
using PythonBinding.Tests.Utils; |
||||
|
||||
namespace PythonBinding.Tests.Resolver |
||||
{ |
||||
[TestFixture] |
||||
public class ResolverContextDottedImportedNameMatchTests |
||||
{ |
||||
[Test] |
||||
public void HasDottedImportNameReturnsTrueForSystemWithSystemWindowsFormsImported() |
||||
{ |
||||
string code = "import System.Windows.Forms"; |
||||
ParseInformation parseInfo = PythonParserHelper.CreateParseInfo(code); |
||||
|
||||
PythonResolverContext resolverContext = new PythonResolverContext(parseInfo); |
||||
Assert.IsTrue(resolverContext.HasDottedImportNameThatStartsWith("System")); |
||||
} |
||||
|
||||
[Test] |
||||
public void HasDottedImportNameReturnsFalseForMyNamespaceWithMyNamespaceTestImportedWithoutDtso() |
||||
{ |
||||
string code = "import MyNamespaceTest"; |
||||
ParseInformation parseInfo = PythonParserHelper.CreateParseInfo(code); |
||||
|
||||
PythonResolverContext resolverContext = new PythonResolverContext(parseInfo); |
||||
Assert.IsFalse(resolverContext.HasDottedImportNameThatStartsWith("MyNamespace")); |
||||
} |
||||
} |
||||
} |
||||
@ -0,0 +1,58 @@
@@ -0,0 +1,58 @@
|
||||
// <file>
|
||||
// <copyright see="prj:///doc/copyright.txt"/>
|
||||
// <license see="prj:///doc/license.txt"/>
|
||||
// <owner name="Matthew Ward" email="mrward@users.sourceforge.net"/>
|
||||
// <version>$Revision$</version>
|
||||
// </file>
|
||||
|
||||
using System; |
||||
using System.Collections.Generic; |
||||
using ICSharpCode.PythonBinding; |
||||
using ICSharpCode.SharpDevelop.Dom; |
||||
using NUnit.Framework; |
||||
using PythonBinding.Tests.Utils; |
||||
|
||||
namespace PythonBinding.Tests.Resolver |
||||
{ |
||||
[TestFixture] |
||||
public class ResolverContextPartialNamespaceExistsTests |
||||
{ |
||||
ParseInformation parseInfo; |
||||
PythonResolverContext resolverContext; |
||||
|
||||
[SetUp] |
||||
public void Init() |
||||
{ |
||||
MockProjectContent projectContent = new MockProjectContent(); |
||||
MockProjectContent winFormsReferenceProjectContent = new MockProjectContent(); |
||||
List<ICompletionEntry> namespaceItems = new List<ICompletionEntry>(); |
||||
winFormsReferenceProjectContent.AddExistingNamespaceContents("System.Windows.Forms", namespaceItems); |
||||
projectContent.ReferencedContents.Add(winFormsReferenceProjectContent); |
||||
DefaultCompilationUnit unit = new DefaultCompilationUnit(projectContent); |
||||
parseInfo = new ParseInformation(unit); |
||||
|
||||
resolverContext = new PythonResolverContext(parseInfo); |
||||
} |
||||
|
||||
[Test] |
||||
public void PartialNamespaceExistsReturnsFalseForUnknownNamespace() |
||||
{ |
||||
string ns = "unknown"; |
||||
Assert.IsFalse(resolverContext.PartialNamespaceExistsInProjectReferences(ns)); |
||||
} |
||||
|
||||
[Test] |
||||
public void PartialNamespaceExistsReturnsTrueForCompleteSystemWinFormsNamespaceMatch() |
||||
{ |
||||
string ns = "System.Windows.Forms"; |
||||
Assert.IsTrue(resolverContext.PartialNamespaceExistsInProjectReferences(ns)); |
||||
} |
||||
|
||||
[Test] |
||||
public void PartialNamespaceExistsReturnsTrueForSystemWindowsNamespace() |
||||
{ |
||||
string ns = "System.Windows"; |
||||
Assert.IsTrue(resolverContext.PartialNamespaceExistsInProjectReferences(ns)); |
||||
} |
||||
} |
||||
} |
||||
Binary file not shown.
Binary file not shown.
File diff suppressed because it is too large
Load Diff
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading…
Reference in new issue