public void ReverseMatches(int[] input) { int[] expectedResults = new int[input.Length]; for (int i = 0; i < input.Length; i++) { expectedResults[i] = input[input.Length - 1 - i]; } Assert.NotSame(input, Enumerable.Reverse(input)); Assert.Equal(expectedResults, input.Reverse()); Assert.Equal(expectedResults, new TestCollection <int>(input).Reverse()); Assert.Equal(expectedResults, new TestEnumerable <int>(input).Reverse()); Assert.Equal(expectedResults, new TestReadOnlyCollection <int>(input).Reverse()); Assert.Equal(expectedResults.Select(i => i * 2), input.Select(i => i * 2).Reverse()); Assert.Equal(expectedResults.Where(i => true).Select(i => i * 2), input.Where(i => true).Select(i => i * 2).Reverse()); Assert.Equal(expectedResults.Where(i => false).Select(i => i * 2), input.Where(i => false).Select(i => i * 2).Reverse()); }
// [Fact] public void InvalidArguments() { Assert.Throws <ArgumentNullException>("source", () => Enumerable.Reverse <string>(null)); }