public void SingleDepthEnclosedTextCanBeParsed()
        {
            const string input  = "(test)";
            string       result = BasicParser.EnclosedText('(', ')').Parse(input);

            Assert.Equal(input, result);
        }
        public void InputMustHaveMatchingNumberOfClosingChars()
        {
            const string     input  = "(()";
            IResult <string> result = BasicParser.EnclosedText('(', ')').TryParse(input);

            Assert.False(result.WasSuccessful);
        }
        public void InputMustStartWithOpenChar()
        {
            const string     input  = "fail(test)";
            IResult <string> result = BasicParser.EnclosedText('(', ')').TryParse(input);

            Assert.False(result.WasSuccessful);
        }
        public void EmptyEnclosedTextCanBeParsed()
        {
            const string input  = "()";
            string       result = BasicParser.EnclosedText('(', ')').Parse(input);

            Assert.Equal(input, result);
        }
        public void NestedEnclosedTextCanBeParsed(string input)
        {
            string result = BasicParser.EnclosedText('(', ')').Parse(input);

            Assert.Equal(input, result);
        }