delete tests if any exist and create tests exclusively for the algorithms: pull in external libraries/std if
  applicable of trustworthy implementations of the same sorting algorithms and compare functionality/timings, they should be
  similar on average over x runs (10-20). If you know an external, well-used and well-trusted algorithm equivalent is heavily
  optimised beyond the default theoretical implementation, skip it and find one closer to theoretical.
