示例#1
0
        public void HexColor()
        {
            var color = HtmlColor.FromArgb(255, 0, 0);

            Assert.Equal("FF0000", color.ToHexString());

            color = HtmlColor.FromHsl(0, 248, 0.53, 0.58);
            Assert.Equal("6A5BCD", color.ToHexString());
        }
        public void HtmlColor_should_be_created_FromHsl_ints()
        {
            var color = HtmlColor.FromHsl(10, 76, 45);

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

            Assert.IsNotNull(color.RgbColor);             //Calculation differences...
            Assert.AreEqual(202, color.RgbColor.R);
            Assert.AreEqual(57, color.RgbColor.G);
            Assert.AreEqual(28, 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("#CA391C", color.RgbColor.ToHtmlHex());
            Assert.AreEqual("#CA391C", color.HexColor);
        }
        public void HtmlColor_should_be_created_named_color_FromHsl_ints()
        {
            var color = HtmlColor.FromHsl(0, 100, 50);

            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(0, 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);
        }
示例#4
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));
        }
        public void HtmlColor_should_be_created_FromHsl_string()
        {
            var color   = HtmlColor.FromHsl("10, 76, 45");
            var color2  = HtmlColor.FromHsl(null);
            var color3  = HtmlColor.FromHsl("");
            var color4  = HtmlColor.FromHsl("    ");
            var color5  = HtmlColor.FromHsl("10°, 76%, 45%");
            var color6  = HtmlColor.FromHsl("10° 76% 45%");
            var color7  = HtmlColor.FromHsl("10°,76%,45%");
            var color8  = HtmlColor.FromHsl("10°76%45%");
            var color9  = HtmlColor.FromHsl("10°,76,45%");
            var color10 = HtmlColor.FromHsl("10,76,45%");
            var color11 = HtmlColor.FromHsl("10°  76 ,45%");

            Assert.IsNotNull(color);
            Assert.AreEqual("10, 76, 45", color.OriginalValue);
            Assert.AreEqual(false, color.IsNamedColor);
            Assert.AreEqual(true, color.IsValid);

            Assert.IsNotNull(color.RgbColor);             //Calculation differences...
            Assert.AreEqual(202, color.RgbColor.R);
            Assert.AreEqual(57, color.RgbColor.G);
            Assert.AreEqual(28, 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("#CA391C", color.RgbColor.ToHtmlHex());
            Assert.AreEqual("#CA391C", 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("#CA391C", color5.HexColor);

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

            Assert.IsNotNull(color7);
            Assert.AreEqual(true, color7.IsValid);
            Assert.AreEqual("#CA391C", color7.HexColor);

            Assert.IsNotNull(color8);
            Assert.AreEqual(true, color8.IsValid);
            Assert.AreEqual("#CA391C", color8.HexColor);

            Assert.IsNotNull(color9);
            Assert.AreEqual(true, color9.IsValid);
            Assert.AreEqual("#CA391C", color9.HexColor);

            Assert.IsNotNull(color10);
            Assert.AreEqual(true, color10.IsValid);
            Assert.AreEqual("#CA391C", color10.HexColor);

            Assert.IsNotNull(color11);
            Assert.AreEqual(true, color11.IsValid);
            Assert.AreEqual("#CA391C", color11.HexColor);
        }