public void Header_Underline()
        {
            var actual   = TextFormatter.FormatHeader("HEADER", 12, TextFormatter.OutlineType.Underline, leftMargin: 5);
            var expected = "        HEADER   \n        ------";

            Assert.AreEqual(expected, actual);
        }
        public void Header_Line()
        {
            var actual   = TextFormatter.FormatHeader("HEADER", 40, TextFormatter.OutlineType.Line, leftMargin: 10);
            var expected = "          ---------------- HEADER ----------------";

            Assert.AreEqual(expected, actual);
        }
        public void Header_Equals()
        {
            var actual   = TextFormatter.FormatHeader("HEADER", 40, TextFormatter.OutlineType.Equals, leftMargin: 10);
            var expected = "          ================ HEADER ================";

            Assert.AreEqual(expected, actual);
        }
        static void Main(string[] args)
        {
            var result = TextFormatter.FormatHeader("HEADER", 12, TextFormatter.OutlineType.Underline, leftMargin: 5);

            Console.WriteLine(result);

            //var swA = new CommandSwitch(primaryName: "AAA", shortName: 'a');
            //swA.AddParameter(arity: Arity.One, name: "a-param");
            //swA.SetHelp("Help for A: a very long help line which will demonstrate our line breaking system.");

            //var swB = new CommandSwitch(primaryName: "be");
            //swB.AddParameter(arity: Arity.NoneOrOne, name: "b-param");
            //swB.SetHelp("Help for B: a very long help line which will demonstrate our line breaking system.");

            //var parser = new Parser();
            //parser.AddSwitch(swA);
            //parser.AddSwitch(swB);

            //StringBuilder sb = new StringBuilder();
            //parser.GetHelp(setup: new Setup(), builder: sb);
            //Console.WriteLine(sb.ToString());
        }