private static DirectoryFontConfiguration CreateDirectoryFontConfigurationOneDirectoryDepthExplorerTree()
        {
            FakeExplorerTreeViewModel stubExplorerTreeVM = CreateFakeExplorerTreeVM();

            FakeDriveItemViewModel mockDriveItemVM = new FakeDriveItemViewModel();

            mockDriveItemVM.CreateAddAndGetFakeDirectory("FakeDirectory");
            stubExplorerTreeVM.Drives.Clear(); // cleare because for this tests we need special fakeExplorerTree.
            stubExplorerTreeVM.Drives.Add(mockDriveItemVM);

            return(new DirectoryFontConfiguration(stubExplorerTreeVM));
        }
        public void ShowHiddenElements_DirectoryPropertyNameIsDummyChild_DirectoriesAndFilesAreNotUpdated()
        {
            FakeExplorerTreeViewModel fakeExplorerTreeVM = CreateFakeExplorerTreeVM();
            FakeDriveItemViewModel    mockDriveItemVM    = new FakeDriveItemViewModel();

            mockDriveItemVM.CreateAddAndGetFakeDirectory("FakeDirectory").Name = "DummyChild";
            fakeExplorerTreeVM.Drives.Clear();
            fakeExplorerTreeVM.Drives.Add(mockDriveItemVM);
            HiddenOverallConfiguration hiddenOverallConfiguration = CreateHiddenOverallConfiguration(fakeExplorerTreeVM);

            Assert.AreEqual(false, hiddenOverallConfiguration.ShowHiddenElements, "Initial value should be false but was true!");
            hiddenOverallConfiguration.ShowHiddenElements = true;

            Assert.AreEqual(false, (mockDriveItemVM.ChildTreeItemVMs.First() as FakeDirectoryItemViewModel).SetVisibilityAccordingToConfigurationWasCalled);
        }
        public void ForeachDriveUpdateChilds_DirectoryPropertyNameIsDummyChild_FontVmUpdateWasNotCalled()
        {
            FakeExplorerTreeViewModel mockExplorerTreeVM = CreateFakeExplorerTreeVM();

            FakeDriveItemViewModel mockDriveItemVM = new FakeDriveItemViewModel();

            mockDriveItemVM.CreateAddAndGetFakeDirectory("FakeDirectory").Name = "DummyChild";
            mockExplorerTreeVM.Drives.Clear(); // cleare because for this test we need special fakeExplorerTree.
            mockExplorerTreeVM.Drives.Add(mockDriveItemVM);

            DirectoryFontConfiguration directoryFontConfiguration = new DirectoryFontConfiguration(mockExplorerTreeVM);


            directoryFontConfiguration.ForeachDriveUpdateChilds();


            foreach (var mockDrive in mockExplorerTreeVM.Drives)
            {
                Assert.AreEqual(false, (mockDrive.ChildTreeItemVMs.First().FontVM as FakeFontViewModel).UpdateWasCalled);
            }
        }
        public void SetSmallIconToActiveIcon_DirectoryPropertyNameIsDummyChild_ForeachDirectorySetSmallImageSourceToActiveImageSourceWasNotCalled()
        {
            FakeExplorerTreeViewModel stubExplorerTreeVM = CreateFakeExplorerTreeVM();
            FakeDriveItemViewModel    mockDriveItemVM    = new FakeDriveItemViewModel();
            var fakeDirectory1 = mockDriveItemVM.CreateAddAndGetFakeDirectory("FakeDirectory");

            fakeDirectory1.Name = "DummyChild";
            fakeDirectory1.CreateAddAndGetFakeFile("FakeFile");
            stubExplorerTreeVM.Drives.Clear(); // cleare because for this test we need special fakeExplorerTree.
            stubExplorerTreeVM.Drives.Add(mockDriveItemVM);
            FileIconConfiguration fileIconConfiguration = CreateFileIconConfigurationWithVariableExplorerTreeVM(stubExplorerTreeVM);


            fileIconConfiguration.SetSmallIconToActiveIcon();


            foreach (var mockDrive in stubExplorerTreeVM.Drives)
            {
                Assert.AreEqual(false, (mockDrive.ChildTreeItemVMs.First().ChildTreeItemVMs.First().IconVM as FakeIconViewModel).ActiveImageSourceWasSetToSmallImageSource);
            }
        }