public void TestSelectedDownloadPathIsNotMigrated() { // Create 1.3, and 2.0 version user data directories in Temp folder string userDataDir; CreateMockDirectoriesAndFiles(out userDataDir); var sourceVersionDir = Path.Combine(userDataDir, "1.3"); var settingsFilePath = Path.Combine(sourceVersionDir, "DynamoSettings.xml"); // Create PreferenceSettings.xml file in 1.3 CreateMockPreferenceSettingsFile(settingsFilePath, sourceVersionDir); // Create mock objects for IPathManager and IPathResolver var mockPathManager = new Mock <IPathManager>(); var currentVersionDir = Path.Combine(userDataDir, "2.0"); mockPathManager.Setup(x => x.UserDataDirectory).Returns(() => currentVersionDir); // Test MigrateBetweenDynamoVersions var targetMigrator = DynamoMigratorBase.MigrateBetweenDynamoVersions( mockPathManager.Object); var sourcePrefs = PreferenceSettings.Load(settingsFilePath); Assert.AreEqual(sourceVersionDir, sourcePrefs.SelectedPackagePathForInstall); // Assert that new SelectedPackagePath is not equal to the old path. Assert.AreNotEqual(sourcePrefs.SelectedPackagePathForInstall, targetMigrator.PreferenceSettings.SelectedPackagePathForInstall); }
public void AddRemovePathsTest() { var setting = new PreferenceSettings() { CustomPackageFolders = { @"Z:\" } }; var vm = new PackagePathViewModel(setting); var path = string.Empty; vm.RequestShowFileDialog += (sender, args) => { args.Path = path; }; path = @"C:\"; vm.AddPathCommand.Execute(null); path = @"D:\"; vm.AddPathCommand.Execute(null); Assert.AreEqual(0, vm.SelectedIndex); Assert.AreEqual(@"C:\", vm.RootLocations[1]); Assert.AreEqual(@"D:\", vm.RootLocations[2]); vm.SelectedIndex = 2; vm.DeletePathCommand.Execute(0); Assert.AreEqual(1, vm.SelectedIndex); Assert.AreEqual(@"C:\", vm.RootLocations[0]); Assert.AreEqual(@"D:\", vm.RootLocations[1]); }
public void CannotDeletePathIfThereIsOnlyOne() { var setting = new PreferenceSettings { CustomPackageFolders = { @"C:\" } }; var vm = new PackagePathViewModel(setting); Assert.AreEqual(1, vm.RootLocations.Count); Assert.IsFalse(vm.DeletePathCommand.CanExecute(null)); }
private static void CreateMockPreferenceSettingsFile(string filePath, string packageDir) { var settings = new PreferenceSettings { CustomPackageFolders = new List <string> { packageDir } }; settings.Save(filePath); }
ShutDown(bool shutDownHost, EventArgs args = null) { EngineController.Dispose(); EngineController = null; PreferenceSettings.Save(); dynSettings.Controller.DynamoModel.OnCleanup(args); dynSettings.Controller = null; ((DynamoLogger)dynSettings.DynamoLogger).Dispose(); }
ShutDown(bool shutDownHost, EventArgs args = null) { EngineController.Dispose(); EngineController = null; PreferenceSettings.Save(); dynSettings.Controller.DynamoModel.OnCleanup(args); dynSettings.Controller = null; //DynamoSelection.Instance.ClearSelection(); ((DynamoLogger)DynamoLogger).Dispose(); }
private static void CreateMockPreferenceSettingsFile(string filePath, string packageDir) { var settings = new PreferenceSettings { CustomPackageFolders = new List <string> { packageDir }, //need to mock this because PreferenceSettings.SelectedPackagePathForInstall uses an event to get UserDataFolder from PathManager SelectedPackagePathForInstall = packageDir }; settings.Save(filePath); }
public virtual void ShutDown(bool shutDownHost) { PreferenceSettings.Save(); VisualizationManager.ClearVisualizations(); dynSettings.Controller.DynamoModel.OnCleanup(null); dynSettings.Controller = null; Selection.DynamoSelection.Instance.ClearSelection(); DynamoLogger.Instance.FinishLogging(); }
/// <summary> /// Return PreferenceSettings from XML path if possible, /// else return PreferenceSettings with default values /// </summary> /// <param name="filePath">Path of the XML File</param> /// <returns> /// Stored PreferenceSettings from xml file or /// Default PreferenceSettings if xml file is not found. /// </returns> public static PreferenceSettings Load(string filePath) { var settings = new PreferenceSettings(); if (string.IsNullOrEmpty(filePath) || (!File.Exists(filePath))) { return(settings); } try { XmlSerializer serializer = new XmlSerializer(typeof(PreferenceSettings)); FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read); settings = serializer.Deserialize(fs) as PreferenceSettings; fs.Close(); // Release file lock } catch (Exception) { } return(settings); }
public void ReorderingPathsTest() { var setting = new PreferenceSettings { CustomPackageFolders = { @"C:\", @"D:\", @"E:\" } }; var vm = new PackagePathViewModel(setting); Assert.AreEqual(0, vm.SelectedIndex); Assert.IsTrue(vm.MovePathDownCommand.CanExecute(null)); Assert.IsFalse(vm.MovePathUpCommand.CanExecute(null)); vm.SelectedIndex = 2; Assert.AreEqual(2, vm.SelectedIndex); Assert.IsTrue(vm.MovePathUpCommand.CanExecute(null)); Assert.IsFalse(vm.MovePathDownCommand.CanExecute(null)); vm.SelectedIndex = 1; Assert.AreEqual(1, vm.SelectedIndex); Assert.IsTrue(vm.MovePathUpCommand.CanExecute(null)); Assert.IsTrue(vm.MovePathDownCommand.CanExecute(null)); vm.MovePathUpCommand.Execute(vm.SelectedIndex); Assert.AreEqual(0, vm.SelectedIndex); Assert.AreEqual(@"D:\", vm.RootLocations[0]); Assert.AreEqual(@"C:\", vm.RootLocations[1]); Assert.AreEqual(@"E:\", vm.RootLocations[2]); vm.SelectedIndex = 1; vm.MovePathDownCommand.Execute(vm.SelectedIndex); Assert.AreEqual(2, vm.SelectedIndex); Assert.AreEqual(@"D:\", vm.RootLocations[0]); Assert.AreEqual(@"E:\", vm.RootLocations[1]); Assert.AreEqual(@"C:\", vm.RootLocations[2]); }
/// <summary> /// Return PreferenceSettings from XML path if possible, /// else return PreferenceSettings with default values /// </summary> /// <param name="filePath">Path of the XML File</param> /// <returns> /// Stored PreferenceSettings from xml file or /// Default PreferenceSettings if xml file is not found. /// </returns> public static PreferenceSettings Load(string filePath) { var settings = new PreferenceSettings(); if (String.IsNullOrEmpty(filePath) || (!File.Exists(filePath))) { return(settings); } try { var serializer = new XmlSerializer(typeof(PreferenceSettings)); using (var fs = new FileStream(filePath, FileMode.Open, FileAccess.Read)) { settings = serializer.Deserialize(fs) as PreferenceSettings; fs.Close(); // Release file lock } } catch (Exception) { } settings.CustomPackageFolders = settings.CustomPackageFolders.Distinct().ToList(); return(settings); }
/// <summary> /// Return PreferenceSettings from XML path if possible, /// else return PreferenceSettings with default values /// </summary> /// <param name="filePath">Path of the XML File</param> /// <returns> /// Stored PreferenceSettings from xml file or /// Default PreferenceSettings if xml file is not found. /// </returns> public static PreferenceSettings Load(string filePath) { PreferenceSettings settings = new PreferenceSettings(); if (string.IsNullOrEmpty(filePath) || (!File.Exists(filePath))) return settings; try { XmlSerializer serializer = new XmlSerializer(typeof(PreferenceSettings)); FileStream fs = new FileStream(filePath, FileMode.Open, FileAccess.Read); settings = serializer.Deserialize(fs) as PreferenceSettings; fs.Close(); // Release file lock } catch (Exception) { } return settings; }
public void PreferenceSettings_ShowEdges_Save() { // Test if variable can be serialize and deserialize without any issue string tempPath = System.IO.Path.GetTempPath(); tempPath = Path.Combine(tempPath, "userPreference.xml"); var initalSetting = new PreferenceSettings(); PreferenceSettings resultSetting; initalSetting.ShowEdges = true; initalSetting.Save(tempPath); resultSetting = PreferenceSettings.Load(tempPath); Assert.True(resultSetting.ShowEdges); }
public void PreferenceSettings_ShowEdges_DefaultFalse() { var settings = new PreferenceSettings(); Assert.False(settings.ShowEdges); }
public void PreferenceSetting() { // Test Case to ensure that the link for these persistent variable // between DynamoViewModel, Model is not broken or replaced. #region FullscreenWatchShowing bool expectedValue = !ViewModel.Model.PreferenceSettings.FullscreenWatchShowing; ViewModel.ToggleFullscreenWatchShowing(null); Assert.AreEqual(expectedValue, ViewModel.Model.PreferenceSettings.FullscreenWatchShowing); expectedValue = !ViewModel.Model.PreferenceSettings.FullscreenWatchShowing; ViewModel.ToggleFullscreenWatchShowing(null); Assert.AreEqual(expectedValue, ViewModel.Model.PreferenceSettings.FullscreenWatchShowing); #endregion #region ConsoleHeight int expectedHeight = 100; ; ViewModel.ToggleConsoleShowing(null); Assert.AreEqual(expectedHeight, ViewModel.Model.PreferenceSettings.ConsoleHeight); expectedHeight = 0; ViewModel.ToggleConsoleShowing(null); Assert.AreEqual(expectedHeight, ViewModel.Model.PreferenceSettings.ConsoleHeight); #endregion #region ConnectorType ConnectorType expectedConnector = ConnectorType.BEZIER; ViewModel.SetConnectorType("BEZIER"); Assert.AreEqual(expectedConnector, ViewModel.Model.PreferenceSettings.ConnectorType); expectedConnector = ConnectorType.POLYLINE; ViewModel.SetConnectorType("POLYLINE"); Assert.AreEqual(expectedConnector, ViewModel.Model.PreferenceSettings.ConnectorType); #endregion #region Collect Information Option { // Backup the value of Dynamo.IsTestMode and restore it later. The // reason for this is 'IsUsageReportingApproved' only returns the // actual value when not running in test mode. var isTestMode = DynamoModel.IsTestMode; // First time run, check if dynamo did set it back to false after running Assert.AreEqual(false, UsageReportingManager.Instance.FirstRun); // CollectionInfoOption To TRUE UsageReportingManager.Instance.SetUsageReportingAgreement(true); RestartTestSetup(startInTestMode: false); Assert.AreEqual(true, UsageReportingManager.Instance.IsUsageReportingApproved); // CollectionInfoOption To FALSE UsageReportingManager.Instance.SetUsageReportingAgreement(false); RestartTestSetup(startInTestMode: false); Assert.AreEqual(false, UsageReportingManager.Instance.IsUsageReportingApproved); DynamoModel.IsTestMode = isTestMode; // Restore the orignal value. } #endregion #region Save And Load of PreferenceSettings // Test if variable can be serialize and deserialize without any issue string tempPath = System.IO.Path.GetTempPath(); tempPath = Path.Combine(tempPath, "userPreference.xml"); // Force inital state PreferenceSettings initalSetting = new PreferenceSettings(); PreferenceSettings resultSetting; #region First Test initalSetting.ConnectorType = ConnectorType.BEZIER; initalSetting.ConsoleHeight = 100; initalSetting.FullscreenWatchShowing = true; initalSetting.Save(tempPath); resultSetting = PreferenceSettings.Load(tempPath); Assert.AreEqual(resultSetting.FullscreenWatchShowing, initalSetting.FullscreenWatchShowing); Assert.AreEqual(resultSetting.ConnectorType, initalSetting.ConnectorType); Assert.AreEqual(resultSetting.ConsoleHeight, initalSetting.ConsoleHeight); #endregion #region Second Test initalSetting.ConnectorType = ConnectorType.POLYLINE; initalSetting.ConsoleHeight = 0; initalSetting.FullscreenWatchShowing = false; initalSetting.Save(tempPath); resultSetting = PreferenceSettings.Load(tempPath); Assert.AreEqual(resultSetting.FullscreenWatchShowing, initalSetting.FullscreenWatchShowing); Assert.AreEqual(resultSetting.ConnectorType, initalSetting.ConnectorType); Assert.AreEqual(resultSetting.ConsoleHeight, initalSetting.ConsoleHeight); #endregion #endregion View.Close(); }
/// <summary> /// Return PreferenceSettings from XML path if possible, /// else return PreferenceSettings with default values /// </summary> /// <param name="filePath">Path of the XML File</param> /// <returns> /// Stored PreferenceSettings from xml file or /// Default PreferenceSettings if xml file is not found. /// </returns> public static PreferenceSettings Load(string filePath) { var settings = new PreferenceSettings(); if (String.IsNullOrEmpty(filePath) || (!File.Exists(filePath))) return settings; try { var serializer = new XmlSerializer(typeof(PreferenceSettings)); using (var fs = new FileStream(filePath, FileMode.Open, FileAccess.Read)) { settings = serializer.Deserialize(fs) as PreferenceSettings; fs.Close(); // Release file lock } } catch (Exception) { } settings.CustomPackageFolders = settings.CustomPackageFolders.Distinct().ToList(); return settings; }
private static void CreateMockPreferenceSettingsFile(string filePath, string packageDir) { var settings = new PreferenceSettings { CustomPackageFolders = new List<string>{packageDir} }; settings.Save(filePath); }
public void PreferenceSetting() { // Test Case to ensure that the link for these persistent variable // between DynamoViewModel, Controller is not broken or replaced. #region FullscreenWatchShowing bool expectedValue = !Controller.PreferenceSettings.FullscreenWatchShowing; Vm.ToggleFullscreenWatchShowing(null); Assert.AreEqual(expectedValue, Controller.PreferenceSettings.FullscreenWatchShowing); expectedValue = !Controller.PreferenceSettings.FullscreenWatchShowing; Vm.ToggleFullscreenWatchShowing(null); Assert.AreEqual(expectedValue, Controller.PreferenceSettings.FullscreenWatchShowing); #endregion #region ShowConsole expectedValue = !Controller.PreferenceSettings.ShowConsole; Vm.ToggleConsoleShowing(null); Assert.AreEqual(expectedValue, Controller.PreferenceSettings.ShowConsole); expectedValue = !Controller.PreferenceSettings.ShowConsole; Vm.ToggleConsoleShowing(null); Assert.AreEqual(expectedValue, Controller.PreferenceSettings.ShowConsole); #endregion #region ConnectorType ConnectorType expectedConnector = ConnectorType.BEZIER; Vm.SetConnectorType("BEZIER"); Assert.AreEqual(expectedConnector, Controller.PreferenceSettings.ConnectorType); expectedConnector = ConnectorType.POLYLINE; Vm.SetConnectorType("POLYLINE"); Assert.AreEqual(expectedConnector, Controller.PreferenceSettings.ConnectorType); #endregion #region Collect Information Option // First time run, check if dynamo did set it back to false after running Assert.AreEqual(false, UsageReportingManager.Instance.FirstRun); // CollectionInfoOption To TRUE UsageReportingManager.Instance.SetUsageReportingAgreement(true); RestartTestSetup(); Assert.AreEqual(true, UsageReportingManager.Instance.IsUsageReportingApproved); // CollectionInfoOption To FALSE UsageReportingManager.Instance.SetUsageReportingAgreement(false); RestartTestSetup(); Assert.AreEqual(false, UsageReportingManager.Instance.IsUsageReportingApproved); #endregion #region Save And Load of PreferenceSettings // Test if variable can be serialize and deserialize without any issue string tempPath = System.IO.Path.GetTempPath(); tempPath = Path.Combine(tempPath, "userPreference.xml"); // Force inital state PreferenceSettings initalSetting = new PreferenceSettings(); PreferenceSettings resultSetting; #region First Test initalSetting.ConnectorType = ConnectorType.BEZIER; initalSetting.ShowConsole = true; initalSetting.FullscreenWatchShowing = true; initalSetting.Save(tempPath); resultSetting = PreferenceSettings.Load(tempPath); Assert.AreEqual(resultSetting.FullscreenWatchShowing, initalSetting.FullscreenWatchShowing); Assert.AreEqual(resultSetting.ConnectorType, initalSetting.ConnectorType); Assert.AreEqual(resultSetting.ShowConsole, initalSetting.ShowConsole); #endregion #region Second Test initalSetting.ConnectorType = ConnectorType.POLYLINE; initalSetting.ShowConsole = false; initalSetting.FullscreenWatchShowing = false; initalSetting.Save(tempPath); resultSetting = PreferenceSettings.Load(tempPath); Assert.AreEqual(resultSetting.FullscreenWatchShowing, initalSetting.FullscreenWatchShowing); Assert.AreEqual(resultSetting.ConnectorType, initalSetting.ConnectorType); Assert.AreEqual(resultSetting.ShowConsole, initalSetting.ShowConsole); #endregion #endregion Ui.Close(); }