Example #1
0
        public PreInstallViewModel()
        {
            FlipViewIndex             = WizardIndex.SelectInstaller;
            InstallerAlreadyExtracted = false;

            InstallerFiles       = new InstallerFilesModel();
            PackageList          = new PackageListModel();
            ScheduledTaskList    = new ScheduledTaskXmlListModel();
            DisplayComponentList = new DisplayComponentListModel(new FileSystem());
        }
        public void LoadOrRefresh_Directory_Does_Not_Exist_Throws_DirectoryNotFoundException()
        {
            MockFileSystem fileSystem = new MockFileSystem(new Dictionary <string, MockFileData>
            {
                { @"C:\test.txt", new MockFileData(string.Empty) }
            });

            DisplayComponentListModel displayComponentListModel = new DisplayComponentListModel(fileSystem);

            Assert.That(() => { displayComponentListModel.LoadOrRefresh(@"C:\driver"); }, Throws.TypeOf <DirectoryNotFoundException>());
        }
        public void LoadOrRefresh_Missing_cccinstall_List_Is_Empty()
        {
            MockFileSystem fileSystem = new MockFileSystem(new Dictionary <string, MockFileData>
            {
                { @"C:\driver\path1\path2\display\component1\driver.inf", new MockFileData(
                      string.Format("dummyline{0}dummyline2{0}[Strings]{0}desc\"test{0}", Environment.NewLine)) }
            });

            DisplayComponentListModel displayComponentListModel = new DisplayComponentListModel(fileSystem);

            displayComponentListModel.LoadOrRefresh(@"C:\driver");

            List <DisplayComponentModel> displayComponentModels = new List <DisplayComponentModel>(displayComponentListModel.DisplayDriverComponents);

            Assert.That(displayComponentModels, Is.Empty);
        }
        public void RemoveComponentsNotKeeping_Keep_True_Does_Not_Remove()
        {
            MockFileSystem fileSystem = new MockFileSystem(new Dictionary <string, MockFileData>
            {
                { @"C:\driver\path1\path2\display\component1\ccc2_install.exe", new MockFileData(string.Empty) },
                { @"C:\driver\path1\path2\display\component1\driver.inf", new MockFileData(string.Empty) }
            });

            DisplayComponentListModel displayComponentListModel = new DisplayComponentListModel(fileSystem);

            displayComponentListModel.LoadOrRefresh(@"C:\driver");
            displayComponentListModel.DisplayDriverComponents.First().Keep = true;

            displayComponentListModel.RemoveComponentsNotKeeping();

            Assert.That(fileSystem.Directory.Exists(@"C:\driver\path1\path2\display\component1\"), Is.True);
        }
        public void LoadOrRefresh_Single_Component_Returns_One_Component()
        {
            MockFileSystem fileSystem = new MockFileSystem(new Dictionary <string, MockFileData>
            {
                { @"C:\driver\path1\path2\display\component1\ccc2_install.exe", new MockFileData(string.Empty) },
                { @"C:\driver\path1\path2\display\component1\driver.inf", new MockFileData(
                      string.Format("dummyline{0}dummyline2{0}[Strings]{0}desc\"test{0}", Environment.NewLine)) }
            });

            DisplayComponentListModel displayComponentListModel = new DisplayComponentListModel(fileSystem);

            displayComponentListModel.LoadOrRefresh(@"C:\driver");

            List <DisplayComponentModel> displayComponentModels = new List <DisplayComponentModel>(displayComponentListModel.DisplayDriverComponents);

            Assert.That(displayComponentModels.Count, Is.EqualTo(1));
        }
        public void RemoveComponentsNotKeeping_Can_Remove_Multiple_Components()
        {
            MockFileSystem fileSystem = new MockFileSystem(new Dictionary <string, MockFileData>
            {
                { @"C:\driver\path1\path2\display\component1\ccc2_install.exe", new MockFileData(string.Empty) },
                { @"C:\driver\path1\path2\display\component1\driver.inf", new MockFileData(string.Empty) },
                { @"C:\driver\path1\path2\display\component2\driver.inf", new MockFileData(string.Empty) }
            });

            DisplayComponentListModel displayComponentListModel = new DisplayComponentListModel(fileSystem);

            displayComponentListModel.LoadOrRefresh(@"C:\driver");
            foreach (DisplayComponentModel displayComponentModel in displayComponentListModel.DisplayDriverComponents)
            {
                displayComponentModel.Keep = false;
            }

            displayComponentListModel.RemoveComponentsNotKeeping();

            Assert.That(fileSystem.Directory.Exists(@"C:\driver\path1\path2\display\component1\"), Is.False);
            Assert.That(fileSystem.Directory.Exists(@"C:\driver\path1\path2\display\component2\"), Is.False);
        }