diff --git a/73_Reverse/csharp/Reverse/Reverse.Tests/ReverserTests.cs b/73_Reverse/csharp/Reverse/Reverse.Tests/ReverserTests.cs index 2ab52d69..7320ef92 100644 --- a/73_Reverse/csharp/Reverse/Reverse.Tests/ReverserTests.cs +++ b/73_Reverse/csharp/Reverse/Reverse.Tests/ReverserTests.cs @@ -37,5 +37,16 @@ namespace Reverse.Tests Assert.True(input.SequenceEqual(output)); } + + [Fact] + public void Reverse_WithIndexGreaterThanArrayLength_DoesNothing() + { + var input = new int[] { 1, 2 }; + var output = new int[] { 1, 2 }; + + Reverser.Reverse(input, input.Length + 1); + + Assert.True(input.SequenceEqual(output)); + } } } diff --git a/73_Reverse/csharp/Reverse/Reverse/Reverser.cs b/73_Reverse/csharp/Reverse/Reverse/Reverser.cs index ed9b8748..be3b194f 100644 --- a/73_Reverse/csharp/Reverse/Reverse/Reverser.cs +++ b/73_Reverse/csharp/Reverse/Reverse/Reverser.cs @@ -4,6 +4,11 @@ { public static void Reverse(int[] arrayToReverse, int indexToReverseTo) { + if (indexToReverseTo > arrayToReverse.Length) + { + return; + } + for (int i = 0; i < indexToReverseTo / 2; i++) { int temp = arrayToReverse[i];