public void Clip_TryGetThicknessTest()
        {
            ClipStyle target = new ClipStyle();

            PDFThickness actual;
            PDFThickness expected = PDFThickness.Empty();
            bool         result   = target.TryGetThickness(out actual);

            Assert.IsFalse(result);
            Assert.AreEqual(expected, actual);

            target.All = 12;
            expected   = new PDFThickness(12);

            result = target.TryGetThickness(out actual);
            Assert.IsTrue(result);
            Assert.AreEqual(expected, actual);

            target.Left   = 13;
            target.Right  = 14;
            target.Top    = 15;
            target.Bottom = 16;
            expected      = new PDFThickness(15, 14, 16, 13);

            result = target.TryGetThickness(out actual);
            Assert.IsTrue(result);
            Assert.AreEqual(expected, actual);

            target.RemoveAllValues();
            expected = PDFThickness.Empty();
            result   = target.TryGetThickness(out actual);
            Assert.IsFalse(result);
            Assert.AreEqual(expected, actual);
        }
        public void Clip_AllTest()
        {
            ClipStyle target = new ClipStyle();

            Assert.AreEqual(PDFUnit.Zero, target.All);

            target.All = 20;
            Assert.AreEqual((PDFUnit)20, target.All);

            //These properties fall back to all
            Assert.AreEqual((PDFUnit)20, target.Left);
            Assert.AreEqual((PDFUnit)20, target.Top);
            Assert.AreEqual((PDFUnit)20, target.Bottom);
            Assert.AreEqual((PDFUnit)20, target.Right);

            //Modify one and make sure the rest as still set
            target.Bottom = 300;

            Assert.AreEqual((PDFUnit)20, target.All);
            Assert.AreEqual((PDFUnit)20, target.Left);
            Assert.AreEqual((PDFUnit)20, target.Top);
            Assert.AreEqual((PDFUnit)300, target.Bottom); //different
            Assert.AreEqual((PDFUnit)20, target.Right);

            target.RemoveAll();
            Assert.AreEqual(PDFUnit.Zero, target.All);

            Assert.AreEqual(PDFUnit.Zero, target.Left);
            Assert.AreEqual(PDFUnit.Zero, target.Top);
            Assert.AreEqual((PDFUnit)300, target.Bottom); //retained the separate value
            Assert.AreEqual(PDFUnit.Zero, target.Right);
        }
        public void ClipStyle_ConstructorTest()
        {
            ClipStyle target = new ClipStyle();

            Assert.IsNotNull(target);
            Assert.AreEqual(StyleKeys.ClipItemKey, target.ItemKey);
        }
        public void Clip_TopTest()
        {
            ClipStyle target = new ClipStyle();

            Assert.AreEqual(PDFUnit.Zero, target.Top);

            target.Top = 20;
            Assert.AreEqual((PDFUnit)20, target.Top);

            target.RemoveTop();
            Assert.AreEqual(PDFUnit.Zero, target.Top);
        }
        public void Clip_RightTest()
        {
            ClipStyle target = new ClipStyle();

            Assert.AreEqual(PDFUnit.Zero, target.Right);

            target.Right = 20;
            Assert.AreEqual((PDFUnit)20, target.Right);

            target.RemoveRight();
            Assert.AreEqual(PDFUnit.Zero, target.Right);
        }
        public void Clip_LeftTest()
        {
            ClipStyle target = new ClipStyle();

            Assert.AreEqual(PDFUnit.Zero, target.Left);

            target.Left = 20;
            Assert.AreEqual((PDFUnit)20, target.Left);

            target.RemoveLeft();
            Assert.AreEqual(PDFUnit.Zero, target.Left);
        }
        public void Clip_BottomTest()
        {
            ClipStyle target = new ClipStyle();

            Assert.AreEqual(PDFUnit.Zero, target.Bottom);

            target.Bottom = 20;
            Assert.AreEqual((PDFUnit)20, target.Bottom);

            target.RemoveBottom();
            Assert.AreEqual(PDFUnit.Zero, target.Bottom);
        }
        public void Clip_SetThicknessTest()
        {
            ClipStyle target = new ClipStyle();

            target.All    = 12;
            target.Left   = 13;
            target.Right  = 14;
            target.Top    = 15;
            target.Bottom = 16;

            PDFThickness thickness = new PDFThickness(21, 22, 23, 24); //T,R,B,L

            target.SetThickness(thickness);

            Assert.AreEqual((PDFUnit)21, target.Top);
            Assert.AreEqual((PDFUnit)24, target.Left);
            Assert.AreEqual((PDFUnit)23, target.Bottom);
            Assert.AreEqual((PDFUnit)22, target.Right);
        }