public void FontOverallConfiguration_Initialisation_DriveDirectoryAndFileFontConfigurationsAreInitialised()
        {
            IConfiguration configuration = new ExplorerTree.API.Configuration.Configuration();

            configuration.Drive      = new DriveConfiguration();
            configuration.Drive.Font = Substitute.For <IExplorerTreeItemFontConfiguration>();

            configuration.Directory      = new DirectoryConfiguration();
            configuration.Directory.Font = Substitute.For <IExplorerTreeItemFontConfiguration>();

            configuration.File      = new FileConfiguration();
            configuration.File.Font = Substitute.For <IExplorerTreeItemFontConfiguration>();

            FakeExplorerTreeViewModel fakeExplorerTreeVM       = CreateFakeExplorerTreeVM(configuration);
            FontOverallConfiguration  fontOverallConfiguration = CreateFontOverallConfiguration(configuration, fakeExplorerTreeVM);


            Assert.AreEqual(configuration.Drive.Font, fontOverallConfiguration.DriveFontConfiguration,
                            "Property: \"" + nameof(fontOverallConfiguration.DriveFontConfiguration) + "\" was NOT initialised correctly");

            Assert.AreEqual(configuration.Directory.Font, fontOverallConfiguration.DirectoryFontConfiguration,
                            "Property: \"" + nameof(fontOverallConfiguration.DirectoryFontConfiguration) + "\" was NOT initialised correctly");

            Assert.AreEqual(configuration.File.Font, fontOverallConfiguration.FileFontConfiguration,
                            "Property: \"" + nameof(fontOverallConfiguration.FileFontConfiguration) + "\" was NOT initialised correctly");
        }
        public void FontOverallConfiguration_Initialisation_PropertyExplorerTreeVmIsInitialised()
        {
            IConfiguration            configuration            = CreateConfiguration();
            FakeExplorerTreeViewModel fakeExplorerTreeVM       = CreateFakeExplorerTreeVM(configuration);
            FontOverallConfiguration  fontOverallConfiguration = CreateFontOverallConfiguration(configuration, fakeExplorerTreeVM);


            Assert.AreEqual(fakeExplorerTreeVM, fontOverallConfiguration.ExplorerTreeVM);
        }
        public void SetFontWeight()
        {
            FontOverallConfiguration fontOverallConfiguration = CreateFontOverallConfiguration();

            var expected = FontWeights.UltraBold;

            fontOverallConfiguration.SetFontWeight(expected);

            Assert.AreEqual(expected, fontOverallConfiguration.DriveFontConfiguration.FontWeight,
                            nameof(DriveFontConfiguration) + " Property \"" + nameof(DriveFontConfiguration.FontWeight) + "\" is wrong.");

            Assert.AreEqual(expected, fontOverallConfiguration.DirectoryFontConfiguration.FontWeight,
                            nameof(DirectoryFontConfiguration) + " Property \"" + nameof(DirectoryFontConfiguration.FontWeight) + "\" is wrong.");

            Assert.AreEqual(expected, fontOverallConfiguration.FileFontConfiguration.FontWeight,
                            nameof(FileFontConfiguration) + " Property \"" + nameof(FileFontConfiguration.FontWeight) + "\" is wrong.");
        }
        public void SetFontStyle()
        {
            FontOverallConfiguration fontOverallConfiguration = CreateFontOverallConfiguration();

            var expected = FontStyles.Italic;

            fontOverallConfiguration.SetFontStyle(expected);

            Assert.AreEqual(expected, fontOverallConfiguration.DriveFontConfiguration.FontStyle,
                            nameof(DriveFontConfiguration) + " Property \"" + nameof(DriveFontConfiguration.FontStyle) + "\" is wrong.");

            Assert.AreEqual(expected, fontOverallConfiguration.DirectoryFontConfiguration.FontStyle,
                            nameof(DirectoryFontConfiguration) + " Property \"" + nameof(DirectoryFontConfiguration.FontStyle) + "\" is wrong.");

            Assert.AreEqual(expected, fontOverallConfiguration.FileFontConfiguration.FontStyle,
                            nameof(FileFontConfiguration) + " Property \"" + nameof(FileFontConfiguration.FontStyle) + "\" is wrong.");
        }
        public void SetFontStretch()
        {
            FontOverallConfiguration fontOverallConfiguration = CreateFontOverallConfiguration();

            var expected = FontStretches.Medium;

            fontOverallConfiguration.SetFontStrech(expected);

            Assert.AreEqual(expected, fontOverallConfiguration.DriveFontConfiguration.FontStretch,
                            nameof(DriveFontConfiguration) + " Property \"" + nameof(DriveFontConfiguration.FontStretch) + "\" is wrong.");

            Assert.AreEqual(expected, fontOverallConfiguration.DirectoryFontConfiguration.FontStretch,
                            nameof(DirectoryFontConfiguration) + " Property \"" + nameof(DirectoryFontConfiguration.FontStretch) + "\" is wrong.");

            Assert.AreEqual(expected, fontOverallConfiguration.FileFontConfiguration.FontStretch,
                            nameof(FileFontConfiguration) + " Property \"" + nameof(FileFontConfiguration.FontStretch) + "\" is wrong.");
        }
        public void SetFontFamily()
        {
            FontOverallConfiguration fontOverallConfiguration = CreateFontOverallConfiguration();

            var expected = new System.Windows.Media.FontFamily("Arial");

            fontOverallConfiguration.SetFontFamily(expected);

            Assert.AreEqual(expected, fontOverallConfiguration.DriveFontConfiguration.FontFamily,
                            nameof(DriveFontConfiguration) + " Property \"" + nameof(DriveFontConfiguration.FontFamily) + "\" is wrong.");

            Assert.AreEqual(expected, fontOverallConfiguration.DirectoryFontConfiguration.FontFamily,
                            nameof(DirectoryFontConfiguration) + " Property \"" + nameof(DirectoryFontConfiguration.FontFamily) + "\" is wrong.");

            Assert.AreEqual(expected, fontOverallConfiguration.FileFontConfiguration.FontFamily,
                            nameof(FileFontConfiguration) + " Property \"" + nameof(FileFontConfiguration.FontFamily) + "\" is wrong.");
        }
        public void FontOverallConfiguration_DefaultInitialisation_PropertyFileFontConfigurationIsNull()
        {
            FontOverallConfiguration fontOverallConfiguration = CreateDefaultFontOverallConfiguration();

            Assert.AreEqual(null, fontOverallConfiguration.FileFontConfiguration);
        }
        public void FontOverallConfiguration_DefaultInitialisation_PropertyExplorerTreeVmIsNull()
        {
            FontOverallConfiguration fontOverallConfiguration = CreateDefaultFontOverallConfiguration();

            Assert.AreEqual(null, fontOverallConfiguration.ExplorerTreeVM);
        }