public void InversionsTheory(int expected, params string[] args)
 {
     using (ConsoleExaminator <int> .Exam(expected, args))
     {
         Inversions.Main(args);
     }
 }
        public void InversionsTimeoutFact()
        {
            var n       = 40000;
            var numbers = new List <int>(n);

            Random random = new Random(Guid.NewGuid().GetHashCode());

            for (var i = 0; i < n; i++)
            {
                numbers.Add(random.Next(1000));
            }

            var results = new List <int>();

            Inversions.InversionsRecursive(numbers, out results, 0, n - 1);
        }