public void DuplicateCallsToImportShouldBeFine() { var str = "\nimport System\nimport System"; var completionProvider = new IronPythonCompletionProvider(); completionProvider.UpdateImportedTypes(str); Assert.AreEqual(1, completionProvider.ImportedTypes.Count); Assert.IsTrue(completionProvider.ImportedTypes.ContainsKey("System")); }
public void CanImportLibrary() { var str = "\nimport System\n"; var completionProvider = new IronPythonCompletionProvider(); completionProvider.UpdateImportedTypes(str); Assert.AreEqual(1, completionProvider.ImportedTypes.Count); Assert.IsTrue(completionProvider.ImportedTypes.ContainsKey("System")); }
public void CanFindSystemCollectionsAssignmentAndType() { var str = "from System.Collections import ArrayList\na = ArrayList()\n"; var completionProvider = new IronPythonCompletionProvider(); completionProvider.UpdateImportedTypes(str); completionProvider.UpdateVariableTypes(str); Assert.IsTrue(completionProvider.VariableTypes.ContainsKey("a")); Assert.AreEqual(typeof(System.Collections.ArrayList), completionProvider.VariableTypes["a"]); }
public void CanFindTypeSpecificImportsMultipleTypesSingleLine() { var str = "from math import sin, cos\n"; var imports = IronPythonCompletionProvider.FindTypeSpecificImportStatements(str); Assert.IsTrue(imports.ContainsKey("sin")); Assert.AreEqual("from math import sin", imports["sin"]); Assert.IsTrue(imports.ContainsKey("cos")); Assert.AreEqual("from math import cos", imports["cos"]); }
public void CanImportSystemLibraryAndGetCompletionData() { var str = "\nimport System\nSystem."; var completionProvider = new IronPythonCompletionProvider(); var completionData = completionProvider.GetCompletionData(str); Assert.AreEqual(224, completionData.Length); Assert.AreEqual(1, completionProvider.ImportedTypes.Count); Assert.IsTrue(completionProvider.ImportedTypes.ContainsKey("System")); }
public ScriptEditorWindow(DynamoViewModel dynamoViewModel) { this.dynamoViewModel = dynamoViewModel; this.completionProvider = new IronPythonCompletionProvider(dynamoViewModel.Model.Logger); InitializeComponent(); var view = FindUpVisualTree <DynamoView>(this); this.Owner = view; this.WindowStartupLocation = WindowStartupLocation.CenterOwner; }
public void CanImportSystemCollectionsLibraryAndGetCompletionData() { var str = "\nimport System.Collections\nSystem.Collections."; var completionProvider = new IronPythonCompletionProvider(); var completionData = completionProvider.GetCompletionData(str); var completionList = completionData.Select(d => d.Text); Assert.IsTrue(completionList.Any()); Assert.IsTrue(completionList.Intersect(new[] { "Hashtable", "Queue", "Stack" }).Count() == 3); Assert.AreEqual(29, completionData.Length); }
public ScriptEditorWindow(DynamoViewModel dynamoViewModel) { this.dynamoViewModel = dynamoViewModel; completionProvider = new IronPythonCompletionProvider(); completionProvider.MessageLogged += dynamoViewModel.Model.Logger.Log; InitializeComponent(); var view = FindUpVisualTree <DynamoView>(this); Owner = view; WindowStartupLocation = WindowStartupLocation.CenterOwner; Dynamo.Logging.Analytics.TrackScreenView("Python"); }
public void CanFindDifferentTypesOfImportsAndLoad() { var str = "from itertools import *\nimport math\nfrom sys import callstats\n"; var completionProvider = new IronPythonCompletionProvider(); completionProvider.UpdateImportedTypes(str); Assert.AreEqual(3, completionProvider.ImportedTypes.Count); Assert.IsTrue(completionProvider.Scope.ContainsVariable("repeat")); Assert.IsTrue(completionProvider.Scope.ContainsVariable("izip")); Assert.IsTrue(completionProvider.Scope.ContainsVariable("math")); Assert.IsTrue(completionProvider.Scope.ContainsVariable("callstats")); }
public void CanMatchAllVariableTypes() { var str = "a = { 'Alice': 7, 'Toby': 'Nuts' }\nb = {}\nc = 5.0\nd = 'pete'\ne = []"; var completionProvider = new IronPythonCompletionProvider(); var matches = completionProvider.FindAllVariables(str); Assert.AreEqual(5, matches.Count); Assert.AreEqual(typeof(IronPython.Runtime.PythonDictionary), matches["a"].Item3); Assert.AreEqual(typeof(IronPython.Runtime.PythonDictionary), matches["b"].Item3); Assert.AreEqual(typeof(double), matches["c"].Item3); Assert.AreEqual(typeof(string), matches["d"].Item3); Assert.AreEqual(typeof(IronPython.Runtime.List), matches["e"].Item3); }
public void CanImportSystemLibraryAndGetCompletionData() { var str = "\nimport System\nSystem."; var completionProvider = new IronPythonCompletionProvider(); var completionData = completionProvider.GetCompletionData(str); // Randomly verify some namepsaces are in the completion list var completionList = completionData.Select(d => d.Text); Assert.IsTrue(completionList.Any()); Assert.IsTrue(completionList.Intersect(new[] { "IO", "Console", "Reflection" }).Count() == 3); Assert.AreEqual(2, completionProvider.ImportedTypes.Count); Assert.IsTrue(defaultImports.SequenceEqual(completionProvider.ImportedTypes.Keys.ToList())); }
public ScriptEditorWindow( DynamoViewModel dynamoViewModel, PythonNode nodeModel, NodeView nodeView ) : base(nodeView) { this.dynamoViewModel = dynamoViewModel; this.nodeModel = nodeModel; completionProvider = new IronPythonCompletionProvider(); completionProvider.MessageLogged += dynamoViewModel.Model.Logger.Log; InitializeComponent(); Dynamo.Logging.Analytics.TrackScreenView("Python"); }
public ScriptEditorWindow( DynamoViewModel dynamoViewModel, PythonNode nodeModel, NodeView nodeView, ref ModelessChildWindow.WindowRect windowRect ) : base(nodeView, ref windowRect) { this.dynamoViewModel = dynamoViewModel; this.nodeModel = nodeModel; completionProvider = new IronPythonCompletionProvider(dynamoViewModel.Model.PathManager.DynamoCoreDirectory); completionProvider.MessageLogged += dynamoViewModel.Model.Logger.Log; InitializeComponent(); Dynamo.Logging.Analytics.TrackScreenView("Python"); }
public ScriptEditorWindow( DynamoViewModel dynamoViewModel, PythonNode nodeModel, NodeView nodeView, ref ModelessChildWindow.WindowRect windowRect ) : base(nodeView, ref windowRect) { this.dynamoViewModel = dynamoViewModel; this.nodeModel = nodeModel; completionProvider = new IronPythonCompletionProvider(dynamoViewModel.Model.PathManager.DynamoCoreDirectory); completionProvider.MessageLogged += dynamoViewModel.Model.Logger.Log; InitializeComponent(); if (Dynamo.Configuration.DebugModes.IsEnabled("Python3DebugMode")) { EngineSelectorComboBox.Visibility = Visibility.Visible; } Dynamo.Logging.Analytics.TrackScreenView("Python"); }