public void FixtureTearDown() { context.Dispose(); EmulationManager.Reset(); xwtProvider.Dispose(); TemporaryFilesManager.Instance.OnFileCreated -= HandleTemporaryFileCreated; EmulationManager.Instance.EmulationChanged -= RemovedTemporaryFiles; }
public Monitor() { swallowExceptions = ConfigurationManager.Instance.Get(ConfigurationSection, "consume-exceptions-from-command", true); breakOnException = ConfigurationManager.Instance.Get(ConfigurationSection, "break-script-on-exception", true); CurrentBindingFlags = BindingFlags.DeclaredOnly | BindingFlags.Instance | BindingFlags.Public | BindingFlags.Static; Commands = new HashSet <Command>(new CommandComparer()); TypeManager.Instance.AutoLoadedType += InitializeAutoCommand; this.emulationManager = EmulationManager.Instance; pythonRunner = new MonitorPythonEngine(this); Quitted += pythonRunner.Dispose; var startingCurrentDirectory = Environment.CurrentDirectory; variableCollections = new Dictionary <VariableType, Dictionary <string, Token> > { { VariableType.Variable, variables }, { VariableType.Macro, macros }, { VariableType.Alias, aliases }, }; SetBasePath(); InitCommands(); emulationManager.CurrentEmulation.MachineAdded += RegisterResetCommand; emulationManager.CurrentEmulation.MachineRemoved += UpdateMonitorPrompt; emulationManager.EmulationChanged += () => { Token oldOrigin; variables.TryGetValue(OriginVariable, out oldOrigin); variables.Clear(); SetVariable(CurrentDirectoryVariable, new PathToken("@" + startingCurrentDirectory), variables); if (oldOrigin != null) { SetVariable(OriginVariable, oldOrigin, variables); } macros.Clear(); aliases.Clear(); Machine = null; emulationManager.CurrentEmulation.MachineAdded += RegisterResetCommand; monitorPath.Reset(); }; SetVariable(CurrentDirectoryVariable, new PathToken("@" + startingCurrentDirectory), variables); CurrentNumberFormat = ConfigurationManager.Instance.Get <NumberModes>(ConfigurationSection, "number-format", NumberModes.Hexadecimal); JoinEmulation(); }