public void DecomposeSpecificationCorrectly()
        {
            var expectId          = "SPC01-01-01";
            var expectDescription = "requirement";
            var markdown          = @$ "* [x] [{expectId}]{expectDescription}";
            var block             = CreateBlock(markdown) as ListBlock;

            if (block != null)
            {
                var actual = ParseUtility.DecomposeSpecification(block);

                Assert.True(actual[0].IsImplemented);
                Assert.Equal(expectId, actual[0].ID);
                Assert.Equal(expectDescription, actual[0].Description);
            }
            else
            {
                throw new XunitException("Preparation failed");
            }
        }
        private void AnalyzeList(MarkdownBlock element, RequirementSpecification data)
        {
            switch (status)
            {
            case UsdmScope.UpperRequiremetReason:
                data.Requirements.Last().Reason += "\n" + element.ToString() ?? string.Empty;
                break;

            case UsdmScope.UpperRequiremetDescription:
                data.Requirements.Last().Description += "\n" + element.ToString() ?? string.Empty;
                break;

            case UsdmScope.LowerRequiremetReason:
                data.Requirements.Last().Requirements.Last().Reason += "\n" + element.ToString() ?? string.Empty;
                break;

            case UsdmScope.LowerRequiremetDescription:
                data.Requirements.Last().Requirements.Last().Description += "\n" + element.ToString() ?? string.Empty;
                break;

            case UsdmScope.Specification:
                var listBlock = element as ListBlock;
                if (listBlock != null)
                {
                    data.Requirements.Last()
                    .Requirements.Last()
                    .SpecificationGroups.Last()
                    .Specifications.AddRange(
                        ParseUtility.DecomposeSpecification(listBlock)
                        );
                }
                break;

            default:
                Console.WriteLine($"Type: {element.Type}");
                Console.WriteLine(element.ToString());
                break;
            }
        }