Exemple #1
0
        public void ColorMixedLongString()
        {
            var color  = "facc36";
            var result = HtmlColor.FromHex(color);

            Assert.AreEqual(HtmlColor.FromRgb(250, 204, 54), result);
        }
Exemple #2
0
        public void ColorRedShortString()
        {
            var color  = "f00";
            var result = HtmlColor.FromHex(color);

            Assert.AreEqual(HtmlColor.FromRgb(255, 0, 0), result);
        }
Exemple #3
0
        public void ColorWhiteShortString()
        {
            var color  = "fff";
            var result = HtmlColor.FromHex(color);

            Assert.AreEqual(HtmlColor.FromRgb(255, 255, 255), result);
        }
        public void HtmlColor_should_be_created_FromRgb_string()
        {
            var color  = HtmlColor.FromRgb("200, 55, 27");
            var color2 = HtmlColor.FromRgb(null);
            var color3 = HtmlColor.FromRgb("");
            var color4 = HtmlColor.FromRgb("   ");
            var color5 = HtmlColor.FromRgb("200,55,27");
            var color6 = HtmlColor.FromRgb("200 55  27");
            var color7 = HtmlColor.FromRgb("200 ,55  ,  27");

            Assert.IsNotNull(color);
            Assert.AreEqual("200, 55, 27", color.OriginalValue);
            Assert.AreEqual(false, color.IsNamedColor);
            Assert.AreEqual(true, color.IsValid);

            Assert.IsNotNull(color.RgbColor);
            Assert.AreEqual(200, color.RgbColor.R);
            Assert.AreEqual(55, color.RgbColor.G);
            Assert.AreEqual(27, color.RgbColor.B);

            Assert.IsNotNull(color.HslColor);
            Assert.AreEqual(10, Math.Round(color.HslColor.Hue));
            Assert.AreEqual(76, Math.Round(color.HslColor.Saturation));
            Assert.AreEqual(45, Math.Round(color.HslColor.Luminosity));

            Assert.AreEqual("#C8371B", color.RgbColor.ToHtmlHex());
            Assert.AreEqual("#C8371B", color.HexColor);

            Assert.IsNotNull(color2);
            Assert.AreEqual(false, color2.IsValid);
            Assert.AreEqual(null, color2.HexColor);

            Assert.IsNotNull(color3);
            Assert.AreEqual(false, color3.IsValid);
            Assert.AreEqual(null, color3.HexColor);

            Assert.IsNotNull(color4);
            Assert.AreEqual(false, color4.IsValid);
            Assert.AreEqual(null, color4.HexColor);

            Assert.IsNotNull(color5);
            Assert.AreEqual(true, color5.IsValid);
            Assert.AreEqual("#C8371B", color5.HexColor);

            Assert.IsNotNull(color6);
            Assert.AreEqual(true, color6.IsValid);
            Assert.AreEqual("#C8371B", color6.HexColor);

            Assert.IsNotNull(color7);
            Assert.AreEqual(true, color7.IsValid);
            Assert.AreEqual("#C8371B", color7.HexColor);
        }
        public void HtmlColor_should_be_created_FromRgb_bytes()
        {
            var color = HtmlColor.FromRgb(200, 55, 27);

            Assert.IsNotNull(color);
            Assert.AreEqual(null, color.OriginalValue);
            Assert.AreEqual(false, color.IsNamedColor);
            Assert.AreEqual(true, color.IsValid);

            Assert.IsNotNull(color.RgbColor);
            Assert.AreEqual(200, color.RgbColor.R);
            Assert.AreEqual(55, color.RgbColor.G);
            Assert.AreEqual(27, color.RgbColor.B);

            Assert.IsNotNull(color.HslColor);
            Assert.AreEqual(10, Math.Round(color.HslColor.Hue));
            Assert.AreEqual(76, Math.Round(color.HslColor.Saturation));
            Assert.AreEqual(45, Math.Round(color.HslColor.Luminosity));

            Assert.AreEqual("#C8371B", color.RgbColor.ToHtmlHex());
            Assert.AreEqual("#C8371B", color.HexColor);
        }
        public void HtmlColor_should_be_created_named_color_FromRgb_bytes()
        {
            var color = HtmlColor.FromRgb(255, 0, 0);

            Assert.IsNotNull(color);
            Assert.AreEqual(null, color.OriginalValue);
            Assert.AreEqual(true, color.IsNamedColor);
            Assert.AreEqual("Red", color.ColorName);
            Assert.AreEqual(true, color.IsValid);

            Assert.IsNotNull(color.RgbColor);
            Assert.AreEqual(255, color.RgbColor.R);
            Assert.AreEqual(0, color.RgbColor.G);
            Assert.AreEqual(0, color.RgbColor.B);

            Assert.IsNotNull(color.HslColor);
            Assert.AreEqual(360, Math.Round(color.HslColor.Hue));
            Assert.AreEqual(100, Math.Round(color.HslColor.Saturation));
            Assert.AreEqual(50, Math.Round(color.HslColor.Luminosity));

            Assert.AreEqual("#FF0000", color.RgbColor.ToHtmlHex());
            Assert.AreEqual("#FF0000", color.HexColor);
        }
Exemple #7
0
        private Term BuildFunctionTerm(string name, List <Term> terms)
        {
            switch (name)
            {
            case "rgb":
            {
                if (terms.Count == 5)
                {
                    if (CheckNumber(terms[0]) &&
                        CheckNumber(terms[2]) &&
                        CheckNumber(terms[4]))
                    {
                        return(HtmlColor.FromRgb(
                                   ToByte(terms[0]),
                                   ToByte(terms[2]),
                                   ToByte(terms[4])));
                    }
                }

                break;
            }

            case "rgba":
            {
                if (terms.Count == 7)
                {
                    if (CheckNumber(terms[0]) &&
                        CheckNumber(terms[2]) &&
                        CheckNumber(terms[4]) &&
                        CheckNumber(terms[6]))
                    {
                        return(HtmlColor.FromRgba(
                                   ToByte(terms[0]),
                                   ToByte(terms[2]),
                                   ToByte(terms[4]),
                                   ToSingle(terms[6])));
                    }
                }

                break;
            }

            case "hsl":
            {
                if (_termList.Count == 5)
                {
                    if (CheckNumber(terms[0]) &&
                        CheckPercentage(terms[2]) &&
                        CheckPercentage(terms[4]))
                    {
                        return(HtmlColor.FromHsl(
                                   ToSingle(terms[0]),
                                   ToSingle(terms[2], UnitType.Percentage),
                                   ToSingle(terms[4], UnitType.Percentage)));
                    }
                }

                break;
            }
            }

            return(new GenericFunction(name, terms));
        }