Author: Mark Peters, Senior Software Engineer
Abstract: The purpose of this project is to demonstrate how you can use multiple sorters, using design patterns (factory and strategy), while honoring the SOLID principles. My goal was to make this project 'as-readable' as it can be, and in order to accomplish this, I used fluent coding.
Sorters:
- Bubble sorter: Sorts the text file using the bubble sort algortihm
- Alphabetic sorter: Only sorts the file ascending
- Length sorter: Sorts the text file from the smallest sentence to the largest
Framework: netcore 3.1
Dependencies: Simple Injector
Unit testing: XUnit
Tests: I tried to aim for 100% code coverage, but for this demo project I don't test the front-end. Only the buisiness logic, and extention methods are tested. Also pay attention, that I choose to use a textfile that contains a Russian poem to prove that the output is compliant with any culture that is configured on the target system. (UTF-8)