Exemple #1
0
        public string SortText(string text, TextSortOption textSortOption)
        {
            var paragraphs = this.paragraphConverter.ConvertToParagraphs(text);

            var sortingStrategy = this.sortingStrategyFactory.Create(textSortOption);

            var sortedParagraphs = sortingStrategy.Sort(paragraphs);

            return(this.paragraphConverter.ConvertToString(sortedParagraphs));
        }
Exemple #2
0
        public ISortingStrategy Create(TextSortOption textSortOption)
        {
            switch (textSortOption)
            {
            case TextSortOption.ByAlphabeticOrder:
                return(new ByAlphabeticOrderSortingStrategy());

            case TextSortOption.ByReversedAlphabeticOrder:
                return(new ByReversedAlphabeticOrderSortingStrategy());

            case TextSortOption.ByReversedOrder:
                return(new ByReversedOrderSortingStrategy());

            case TextSortOption.Unknown:
            default:
                throw new TextEngineException("Unable to apply sorting strategy due to unknown sorting option");
            }
        }