public void Throw_Exception_Given_Array_With_Ivalide_Elements(int[] array)
        {
            // Act
            Exception ex = Assert.Throws <ArgumentOutOfRangeException>(() => SliceSort.FindSlices(array));

            // Assert
            Assert.Equal($"The values of the array elements must be between 1 and 100000000.{Environment.NewLine}Parameter name: element", ex.Message);
        }
        public void Return_3_Given_Array_Of_2_1_6_4_3_7()
        {
            // Arrange
            var array = new[] { 2, 1, 6, 4, 3, 7 };

            // Act
            var actual = SliceSort.FindSlices(array).Count;

            // Assert
            Assert.Equal(3, actual);
        }
        public void Return_1_Given_Array_Of_4_3_2_6_1()
        {
            // Arrange
            var array = new[] { 4, 3, 2, 6, 1 };

            // Act
            var actual = SliceSort.FindSlices(array).Count;

            // Assert
            Assert.Equal(1, actual);
        }
        public void Throw_Exception_Given_Array_Length_Of_Out_Of_Range(int length)
        {
            // Arrange
            var array = (int[])Array.CreateInstance(typeof(int), length);

            // Act
            Exception ex = Assert.Throws <ArgumentOutOfRangeException>(() => SliceSort.FindSlices(array));

            // Assert
            Assert.Equal($"The length of the array must be between 1 and 100000.{Environment.NewLine}Parameter name: length", ex.Message);
        }