public void Border_CreatePenTest()
        {
            BorderStyle target = new BorderStyle();

            //No values

            PDFPen expected = null;
            PDFPen actual   = target.CreatePen();

            Assert.IsNull(actual);

            //Zero width

            target.Width = PDFUnit.Empty;
            actual       = target.CreatePen();
            Assert.IsNull(actual);

            //Solid pen

            expected     = new PDFSolidPen(PDFColors.Purple, 10);
            target.Color = PDFColors.Purple;
            target.Width = 10;
            actual       = target.CreatePen();
            AssertPensAreEqual(expected, actual);

            //Mitres

            target.Mitre        = 20;
            expected.MitreLimit = 20;
            actual = target.CreatePen();
            AssertPensAreEqual(expected, actual);

            //Line Caps

            target.LineCap    = LineCaps.Projecting;
            expected.LineCaps = LineCaps.Projecting;
            actual            = target.CreatePen();
            AssertPensAreEqual(expected, actual);

            //Line Join

            target.LineJoin   = LineJoin.Bevel;
            expected.LineJoin = LineJoin.Bevel;
            actual            = target.CreatePen();
            AssertPensAreEqual(expected, actual);

            // Opacity

            target.Opacity   = 0.4;
            expected.Opacity = 0.4;
            actual           = target.CreatePen();
            AssertPensAreEqual(expected, actual);

            // Dash

            PDFDash dash = new PDFDash(new int[] { 4, 5, 6 }, 10);

            expected = new PDFDashPen(dash);
            ((PDFSolidPen)expected).Color = PDFColors.Lime;
            expected.Width = 8;

            target       = new BorderStyle();
            target.Dash  = dash;
            target.Width = 8;
            target.Color = PDFColors.Lime;
            actual       = target.CreatePen();
            AssertPensAreEqual(expected, actual);
        }