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));
        }
Exemple #3
0
        public void IfPathsAreUnchangedPackagesAreNotReloaded()
        {
            var count   = 0;
            var setting = new PreferenceSettings()
            {
                CustomPackageFolders = { @"Z:\" }
            };
            var pathManager = new Mock <IPathManager>();

            pathManager.SetupGet(x => x.PackagesDirectories).Returns(
                () => setting.CustomPackageFolders);

            PackageLoader loader = new PackageLoader(pathManager.Object);

            loader.PackagesLoaded += Loader_PackagesLoaded;

            LoadPackageParams loadParams = new LoadPackageParams
            {
                Preferences = setting,
            };
            CustomNodeManager customNodeManager = Model.CustomNodeManager;
            var vm = new PackagePathViewModel(loader, loadParams, customNodeManager);

            vm.SaveSettingCommand.Execute(null);

            //should not have reloaded anything.
            Assert.AreEqual(0, count);
            var path = string.Empty;

            vm.RequestShowFileDialog += (sender, args) => { args.Path = path; };
            path = Path.Combine(GetTestDirectory(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)), "pkgs");
            //add the new path
            vm.AddPathCommand.Execute(null);

            //save the new path
            vm.SaveSettingCommand.Execute(null);

            //should have loaded something.
            Assert.AreEqual(10, count);

            //commit the paths again.
            vm.SaveSettingCommand.Execute(null);

            //should not have loaded anything.
            Assert.AreEqual(10, count);

            void Loader_PackagesLoaded(System.Collections.Generic.IEnumerable <Assembly> obj)
            {
                count = count + obj.Count();
            }

            loader.PackagesLoaded -= Loader_PackagesLoaded;
        }
Exemple #4
0
        internal PackagePathView(PackagePathViewModel viewModel)
        {
            if (viewModel == null)
            {
                throw new ArgumentNullException("viewModel");
            }

            InitializeComponent();
            this.DataContext = viewModel;
            viewModel.RequestShowFileDialog += OnRequestShowFileDialog;
            viewModel.PropertyChanged       += OnPropertyChanged;
            UpdateVisualToReflectSelectionState();
            PreviewKeyDown += OnPackagePathDialogKeyDown;
        }
        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]);
        }