Files
basic-computer-games/73_Reverse/csharp/Reverse/Reverse.Tests/ReverserTests.cs
Kristian Stolen 8e54c0e930 rename tests.
2022-01-12 18:12:15 +08:00

53 lines
1.4 KiB
C#

using System.Linq;
using Xunit;
namespace Reverse.Tests
{
public class ReverserTests
{
[Theory]
[InlineData(new int[] { 1 }, new int[] { 1 })]
[InlineData(new int[] { 1, 2 }, new int[] { 2, 1 })]
[InlineData(new int[] { 1, 2, 3 }, new int[] { 3, 2, 1 })]
public void Reverse_WillReverseEntireArray(int[] input, int[] output)
{
Reverser.Reverse(input, input.Length);
Assert.True(input.SequenceEqual(output));
}
[Fact]
public void Reverse_WithSpecifiedIndex_ReversesItemsUpToThatIndex()
{
var input = new int[] { 1, 2, 3, 4 };
var output = new int[] { 2, 1, 3, 4 };
Reverser.Reverse(input, 2);
Assert.True(input.SequenceEqual(output));
}
[Fact]
public void Reverse_WithIndexOne_DoesNothing()
{
var input = new int[] { 1, 2 };
var output = new int[] { 1, 2 };
Reverser.Reverse(input, 1);
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));
}
}
}