public void GetFunctions_TwoFunctions_HostReturnsBoth() { var pyHost = new PythonHost(); CollectionAssert.AreEqual(new[] { "foo", "doo" }, pyHost.GetFunctions( @"def foo(): pass def doo(): pass").ToArray()); }
public static void LoadMacros() { commandIdFunctionMap.Clear(); var existingMacros = GetMacros().ToArray(); foreach (var pythonFile in Directory.EnumerateFiles(loadPath, "*.py")) { using (var pythonHost = new PythonHost()) { pythonHost.AddSharedObject("dte", dte); var functions = pythonHost.GetFullyQualifiedFunctionNamesInFile(pythonFile); RegisterCommands(functions, existingMacros); } } RemoveZombieMacros(existingMacros); }
public void GetModules_CodeHasModuleDeclaration_HostReturnsModuleName() { var pyHost = new PythonHost(); var tempFile = Path.ChangeExtension(Path.GetTempFileName(), ".py"); var moduleName = Path.GetFileNameWithoutExtension(tempFile); try { File.WriteAllText(tempFile, @"def foo(): pass def doo(): pass"); CollectionAssert.AreEqual(new[] { moduleName + ".doo", moduleName + ".foo" }, pyHost.GetFullyQualifiedFunctionNamesInFile(tempFile).ToArray()); } finally { File.Delete(tempFile); } }
public void Execute_ArithmeticExpression_HostExecutesAndReturnsResult() { var pyHost = new PythonHost(); Assert.AreEqual(2, pyHost.Execute<int>("1 + 1")); }
private static void Execute(string fullyQualifiedFunctionName) { using (var pythonHost = new PythonHost()) { pythonHost.AddSharedObject("dte", dte); pythonHost.ExecuteFunctionInFile(loadPath, fullyQualifiedFunctionName); } }