public void GettingFontWithoutFaultyColorsFallBackToDefaultColor()
        {
            AssetPlugin plugin = new TestAssetPlugin();

            plugin.AddColor(Color.FromArgb(255, 0, 0), "Red");
            plugin.AddColor(Color.FromArgb(0, 0, 255), "Blue");
            plugin.AddFont(new Font()
            {
                Name = "Bold", FontFilename = "Bold.otf", Color = plugin.GetColor("Red")
            });

            plugin.GetFontByName("Bold:").Color.R.Should().Be(255);
        }
        public CustomTestFixture()
        {
            UnitTestCommandHelper = new MvxUnitTestCommandHelper();
            Ioc.RegisterSingleton <IMvxCommandHelper>(UnitTestCommandHelper);

            var plugin = new TestAssetPlugin();

            plugin.AddColor(Color.FromArgb(255, 0, 0), "Red");
            plugin.AddColor(Color.FromArgb(0, 0, 255), "Blue");
            FontToAdd = new Font()
            {
                Name = "Bold", FontFilename = "Bold.otf", Color = plugin.GetColor("Blue")
            };
            plugin.AddFont(FontToAdd);

            Ioc.RegisterSingleton <IAssetPlugin>(plugin);
        }
        public void AddingColorAddsColor()
        {
            AssetPlugin plugin = new TestAssetPlugin();
            var         color  = Color.FromArgb(10, 0, 10);

            plugin.GetColor("Main").Should().Be(Color.Empty);
            plugin.AddColor(color, "Main");
            plugin.GetColor("Main").Should().Be(color);
        }
        public void AddingColorToTheFontLookupOverridesTheColor()
        {
            AssetPlugin plugin = new TestAssetPlugin();

            plugin.AddColor(Color.FromArgb(255, 0, 0), "Red");
            plugin.AddColor(Color.FromArgb(0, 0, 255), "Blue");
            plugin.AddFont(new Font()
            {
                Name = "Bold", FontFilename = "Bold.otf", Color = plugin.GetColor("Blue")
            });

            plugin.GetFontByName("Bold").Color.R.Should().Be(0);
            plugin.GetFontByName("Bold").Color.G.Should().Be(0);
            plugin.GetFontByName("Bold").Color.B.Should().Be(255);

            plugin.GetFontByName("Bold:Red").Color.R.Should().Be(255);
            plugin.GetFontByName("Bold:Red").Color.G.Should().Be(0);
            plugin.GetFontByName("Bold:Red").Color.G.Should().Be(0);
        }
        public void AddingFontsWithoutNameThrows()
        {
            AssetPlugin plugin = new TestAssetPlugin();

            plugin.AddColor(Color.FromArgb(255, 0, 0), "Red");

            Assert.Throws <Exception>(() => plugin.AddFont(new Font()
            {
                FontFilename = "Bold.otf", Color = plugin.GetColor("Red")
            }));
        }
        public void ClearingColorClearsAllColors()
        {
            AssetPlugin plugin = new TestAssetPlugin();

            plugin.AddColor(Color.FromArgb(10, 0, 10), "Main");

            plugin.GetColor("Main").Should().NotBe(Color.Empty);

            plugin.ClearColors();

            plugin.GetColor("Main").Should().Be(Color.Empty);
        }
        public void AddingPlatformSpecificFontsAreNotAddedByOtherPlatforms()
        {
            AssetPlugin plugin = new TestAssetPlugin();

            plugin.AddColor(Color.FromArgb(255, 0, 0), "Red");

            var font = new iOSFont()
            {
                Name = "Bold", FontFilename = "Bold.otf", Color = plugin.GetColor("Red")
            };

            plugin.CanAddFont(font).Should().Be(false);

            plugin.AddFont(font);

            plugin.GetFontByName("Bold").Should().BeNull();
        }