public void DriveIconConfiguration_DefaultInitialisation_PropertyExplorerTreeVMIsInitialised()
        {
            ExplorerTreeViewModel  mockExplorerTreeVM     = CreateFakeExplorerTreeVM();
            DriveIconConfiguration driveIconConfiguration = new DriveIconConfiguration(mockExplorerTreeVM);

            Assert.AreEqual(mockExplorerTreeVM, driveIconConfiguration.ExplorerTreeVM);
        }
        public void SetLargeIconToActiveIcon_SetPropertyActiveIconStateToLargeIcon_ReturnsSetValue()
        {
            DriveIconConfiguration driveIconConfiguration = CreateDefaultDriveIconConfiguration();

            driveIconConfiguration.SetLargeIconToActiveIcon();

            Assert.AreEqual(IconStates.LargeIcon, driveIconConfiguration.ActiveIconState);
        }
        public void SetLargeIconToActiveIcon_ForeachDriveUpdateChildsWithLargeIcon_ForeachDirectorySetLargeImageSourceToActiveImageSourceWasCalled()
        {
            DriveIconConfiguration driveIconConfiguration = CreateDefaultDriveIconConfiguration();

            driveIconConfiguration.SetLargeIconToActiveIcon();

            foreach (var mockDrive in driveIconConfiguration.ExplorerTreeVM.Drives)
            {
                Assert.AreEqual(true, (mockDrive.IconVM as FakeIconViewModel).ActiveImageSourceWasSetToLargeImageSource,
                                "The fakePath of the item whose " + nameof(mockDrive.IconVM.SetLargeImageSourceToActiveImageSource) + "-Method was not called is: " +
                                mockDrive.Name);
            }
        }
        public void SetLargeIconToActiveIcon_DrivePropertyNameIsDummyChild_ForeachDirectorySetLargeImageSourceToActiveImageSourceWasNotCalled()
        {
            FakeExplorerTreeViewModel stubExplorerTreeVM = CreateFakeExplorerTreeVM();

            FakeDriveItemViewModel mockDriveItemVM = new FakeDriveItemViewModel();

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

            DriveIconConfiguration driveIconConfiguration = CreateDriveIconConfigurationWithVariableExplorerTreeVM(stubExplorerTreeVM);



            driveIconConfiguration.SetLargeIconToActiveIcon();



            foreach (var mockDrive in stubExplorerTreeVM.Drives)
            {
                Assert.AreEqual(false, (mockDrive.IconVM as FakeIconViewModel).ActiveImageSourceWasSetToLargeImageSource);
            }
        }
        public void DriveIconConfiguration_DefaultInitialisation_PropertyActiveIconStateIsInitialised()
        {
            DriveIconConfiguration driveIconConfiguration = new DriveIconConfiguration(CreateFakeExplorerTreeVM());

            Assert.AreEqual(IconStates.SmallIcon, driveIconConfiguration.ActiveIconState);
        }