public void TestGradValue()
    {
        angle = new CssPrimitiveAngleValue("100grad", false);
        Assert.AreEqual(100, angle.GetFloatValue(CssPrimitiveType.Grad));
        Assert.AreEqual(90, angle.GetFloatValue(CssPrimitiveType.Deg));
        Assert.AreEqual(Math.PI / 2, angle.GetFloatValue(CssPrimitiveType.Rad));

        angle = new CssPrimitiveAngleValue("600grad", false);
        Assert.AreEqual(200, angle.GetFloatValue(CssPrimitiveType.Grad));
    }
    public void TestRadValue()
    {
        angle = new CssPrimitiveAngleValue("1rad", false);
        Assert.AreEqual(1, angle.GetFloatValue(CssPrimitiveType.Rad));
        Assert.AreEqual(1 * 180 / Math.PI, angle.GetFloatValue(CssPrimitiveType.Deg));
        Assert.AreEqual(1 * 200 / Math.PI, angle.GetFloatValue(CssPrimitiveType.Grad));

        angle = new CssPrimitiveAngleValue("-2rad", false);
        Assert.AreEqual(2 * Math.PI - 2, angle.GetFloatValue(CssPrimitiveType.Rad));

        angle = new CssPrimitiveAngleValue("8rad", false);
        Assert.AreEqual(8 % (2 * Math.PI), angle.GetFloatValue(CssPrimitiveType.Rad));
    }
        /// <summary>
        /// Creates a SvgAngle value
        /// </summary>
        /// <param name="s">The string to parse for the angle value</param>
        /// <param name="defaultValue">The default value for the angle.</param>
        /// <param name="readOnly">Specifies if the value should be read-only</param>
        public SvgAngle(string baseVal, string defaultValue, bool readOnly)
        {
            baseVal = baseVal.Trim();
            if (baseVal.Length == 0)
            {
                baseVal = defaultValue;
            }

            baseVal = SvgNumber.ScientificToDec(baseVal);

            _cssAngle = new CssPrimitiveAngleValue(baseVal, readOnly);
            _readOnly = readOnly;
        }
    public void TestDegValue()
    {
        angle = new CssPrimitiveAngleValue("90deg", false);
        Assert.AreEqual(90, angle.GetFloatValue(CssPrimitiveType.Deg));
        Assert.AreEqual(100, angle.GetFloatValue(CssPrimitiveType.Grad));
        Assert.AreEqual(Math.PI / 2, angle.GetFloatValue(CssPrimitiveType.Rad));

        angle = new CssPrimitiveAngleValue("47", false);
        Assert.AreEqual(47, angle.GetFloatValue(CssPrimitiveType.Deg));

        angle = new CssPrimitiveAngleValue("385deg", false);
        Assert.AreEqual(25, angle.GetFloatValue(CssPrimitiveType.Deg));

        angle = new CssPrimitiveAngleValue("-90deg", false);
        Assert.AreEqual(270, angle.GetFloatValue(CssPrimitiveType.Deg));
    }