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 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);
        }