protected virtual void StartDynamo(TestSessionConfiguration testConfig) { preloader = new Preloader(testConfig.DynamoCorePath, testConfig.RequestedLibraryVersion); preloader.Preload(); Model = DynamoModel.Start( new DynamoModel.DefaultStartConfiguration() { StartInTestMode = true, PathResolver = pathResolver, GeometryFactoryPath = preloader.GeometryFactoryPath }); ViewModel = DynamoViewModel.Start( new DynamoViewModel.StartConfiguration() { DynamoModel = Model }); //create the view View = new DynamoView(ViewModel); View.Show(); SynchronizationContext.SetSynchronizationContext(new SynchronizationContext()); }
protected override void StartDynamo(TestSessionConfiguration testConfig) { // Add Dynamo Core location to the PATH system environment variable. // This is to make sure dependencies(e.g.Helix assemblies) can be located. var path = Environment.GetEnvironmentVariable("Path", EnvironmentVariableTarget.Process) + ";" + testConfig.DynamoCorePath; Environment.SetEnvironmentVariable("Path", path, EnvironmentVariableTarget.Process); var preloader = new Preloader(testConfig.DynamoCorePath, new[] { testConfig.RequestedLibraryVersion2 }); preloader.Preload(); var preloadedLibraries = new List <string>(); GetLibrariesToPreload(preloadedLibraries); if (preloadedLibraries.Any()) { if (pathResolver == null) { pathResolver = new TestPathResolver(); } var pr = pathResolver as TestPathResolver; foreach (var preloadedLibrary in preloadedLibraries.Distinct()) { pr.AddPreloadLibraryPath(preloadedLibrary); } } Model = DynamoModel.Start( new DynamoModel.DefaultStartConfiguration() { StartInTestMode = true, PathResolver = pathResolver, GeometryFactoryPath = preloader.GeometryFactoryPath, UpdateManager = this.UpdateManager, ProcessMode = TaskProcessMode.Synchronous }); Model.EvaluationCompleted += Model_EvaluationCompleted; ViewModel = DynamoViewModel.Start( new DynamoViewModel.StartConfiguration() { DynamoModel = Model, Watch3DViewModel = HelixWatch3DViewModel.TryCreateHelixWatch3DViewModel( null, new Watch3DViewModelStartupParams(Model), Model.Logger) }); //create the view View = new DynamoView(ViewModel); View.Show(); SynchronizationContext.SetSynchronizationContext(new SynchronizationContext()); }
protected override void StartDynamo(TestSessionConfiguration testConfig) { base.StartDynamo(testConfig); //create the view View = new DynamoView(ViewModel); View.Show(); SynchronizationContext.SetSynchronizationContext(new SynchronizationContext()); }
protected override void StartDynamo(TestSessionConfiguration testConfig) { try { UpdateSystemPathForProcess(); // create the transaction manager object TransactionManager.SetupManager(new AutomaticTransactionStrategy()); // Note that there is another data member pathResolver in base class // SystemTestBase. That pathResolver will be used only in StartDynamo // of the base class, here a local instance of pathResolver is used. // var revitTestPathResolver = new RevitTestPathResolver(); revitTestPathResolver.InitializePreloadedLibraries(); DynamoRevit.RevitDynamoModel = RevitDynamoModel.Start( new RevitDynamoModel.RevitStartConfiguration() { StartInTestMode = true, GeometryFactoryPath = DynamoRevit.GetGeometryFactoryPath(testConfig.DynamoCorePath), DynamoCorePath = testConfig.DynamoCorePath, PathResolver = revitTestPathResolver, Context = "Revit 2014", SchedulerThread = new TestSchedulerThread(), PackageManagerAddress = "https://www.dynamopackages.com", ExternalCommandData = new DynamoRevitCommandData(RevitTestExecutive.CommandData), ProcessMode = RevitTaskProcessMode }); Model = DynamoRevit.RevitDynamoModel; this.ViewModel = DynamoRevitViewModel.Start( new DynamoViewModel.StartConfiguration() { DynamoModel = DynamoRevit.RevitDynamoModel, }); var vm3D = ViewModel.Watch3DViewModels.FirstOrDefault(vm => vm is RevitWatch3DViewModel); if (vm3D != null) { vm3D.Active = false; } // Because the test framework does not work in the idle thread. // We need to trick Dynamo into believing that it's in the idle // thread already. IdlePromise.InIdleThread = true; } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } }
protected override void StartDynamo(TestSessionConfiguration testConfig) { var preloader = new Preloader(testConfig.DynamoCorePath, testConfig.RequestedLibraryVersion); preloader.Preload(); var preloadedLibraries = new List <string>(); GetLibrariesToPreload(preloadedLibraries); if (preloadedLibraries.Any()) { if (pathResolver == null) { pathResolver = new TestPathResolver(); } var pr = pathResolver as TestPathResolver; foreach (var preloadedLibrary in preloadedLibraries.Distinct()) { pr.AddPreloadLibraryPath(preloadedLibrary); } } Model = DynamoModel.Start( new DynamoModel.DefaultStartConfiguration() { StartInTestMode = true, PathResolver = pathResolver, GeometryFactoryPath = preloader.GeometryFactoryPath, UpdateManager = this.UpdateManager, ProcessMode = TaskProcessMode.Synchronous }); ViewModel = DynamoViewModel.Start( new DynamoViewModel.StartConfiguration() { DynamoModel = Model, Watch3DViewModel = HelixWatch3DViewModel.TryCreateHelixWatch3DViewModel( null, new Watch3DViewModelStartupParams(Model), Model.Logger) }); //create the view View = new DynamoView(ViewModel); View.Show(); SynchronizationContext.SetSynchronizationContext(new SynchronizationContext()); }
protected virtual void StartDynamo(TestSessionConfiguration testConfig) { preloader = new Preloader(testConfig.DynamoCorePath, testConfig.RequestedLibraryVersion); preloader.Preload(); var preloadedLibraries = new List <string>(); GetLibrariesToPreload(preloadedLibraries); if (preloadedLibraries.Any()) { if (pathResolver == null) { pathResolver = new TestPathResolver(); } var pr = pathResolver as TestPathResolver; foreach (var preloadedLibrary in preloadedLibraries.Distinct()) { pr.AddPreloadLibraryPath(preloadedLibrary); } } Model = DynamoModel.Start( new DynamoModel.DefaultStartConfiguration() { StartInTestMode = true, PathResolver = pathResolver, GeometryFactoryPath = preloader.GeometryFactoryPath, UpdateManager = this.UpdateManager }); ViewModel = DynamoViewModel.Start( new DynamoViewModel.StartConfiguration() { DynamoModel = Model }); //create the view View = new DynamoView(ViewModel); View.Show(); SynchronizationContext.SetSynchronizationContext(new SynchronizationContext()); }
protected override void StartDynamo(TestSessionConfiguration testConfig) { try { UpdateSystemPathForProcess(); // create the transaction manager object TransactionManager.SetupManager(new AutomaticTransactionStrategy()); // Note that there is another data member pathResolver in base class // SystemTestBase. That pathResolver will be used only in StartDynamo // of the base class, here a local instance of pathResolver is used. // var commandData = new DynamoRevitCommandData(RevitTestExecutive.CommandData); var userDataFolder = Path.Combine(Environment.GetFolderPath( Environment.SpecialFolder.ApplicationData), "Dynamo", "Dynamo Revit"); var commonDataFolder = Path.Combine(Environment.GetFolderPath( Environment.SpecialFolder.CommonApplicationData), "Autodesk", "RVT " + commandData.Application.Application.VersionNumber, "Dynamo"); // Set Path Resolver's user data folder and common data folder with DynamoRevit runtime. var pathResolverParams = new TestPathResolverParams() { UserDataRootFolder = userDataFolder, CommonDataRootFolder = commonDataFolder }; RevitTestPathResolver revitTestPathResolver = new RevitTestPathResolver(pathResolverParams); revitTestPathResolver.InitializePreloadedLibraries(); // Get the preloaded DynamoRevit Custom Nodes, and Add them to Preload Libraries. var preloadedLibraries = new List <string>(); GetLibrariesToPreload(preloadedLibraries); if (preloadedLibraries.Any()) { foreach (var preloadedLibrary in preloadedLibraries) { if (Directory.Exists(preloadedLibrary)) { revitTestPathResolver.AddNodeDirectory(preloadedLibrary); } else if (File.Exists(preloadedLibrary)) { revitTestPathResolver.AddPreloadLibraryPath(preloadedLibrary); } } } // Init DynamoTestPath to get DynamoSettings.xml which under user data folder PreferenceSettings.DynamoTestPath = string.Empty; //preload ASM and instruct dynamo to load that version of libG. var requestedLibGVersion = DynamoRevit.PreloadAsmFromRevit(); DynamoRevit.RevitDynamoModel = RevitDynamoModel.Start( new RevitDynamoModel.RevitStartConfiguration() { StartInTestMode = true, GeometryFactoryPath = DynamoRevit.GetGeometryFactoryPath(testConfig.DynamoCorePath, requestedLibGVersion), DynamoCorePath = testConfig.DynamoCorePath, PathResolver = revitTestPathResolver, Context = DynamoRevit.GetRevitContext(commandData), SchedulerThread = new TestSchedulerThread(), PackageManagerAddress = "https://www.dynamopackages.com", ExternalCommandData = commandData, ProcessMode = RevitTaskProcessMode }); Model = DynamoRevit.RevitDynamoModel; this.ViewModel = DynamoRevitViewModel.Start( new DynamoViewModel.StartConfiguration() { DynamoModel = DynamoRevit.RevitDynamoModel, }); var vm3D = ViewModel.Watch3DViewModels.FirstOrDefault(vm => vm is RevitWatch3DViewModel); if (vm3D != null) { vm3D.Active = false; } // Because the test framework does not work in the idle thread. // We need to trick Dynamo into believing that it's in the idle // thread already. IdlePromise.InIdleThread = true; } catch (Exception ex) { Console.WriteLine(ex.StackTrace); } }