Skip to content

Commit fbb3a74

Browse files
committed
Add more Queryable test cases
1 parent 6a21dbf commit fbb3a74

File tree

2 files changed

+64
-2
lines changed

2 files changed

+64
-2
lines changed

src/libraries/System.Linq.Queryable/tests/OrderDescendingTests.cs

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,44 @@
22
// The .NET Foundation licenses this file to you under the MIT license.
33

44
using System.Collections.Generic;
5-
using System.Linq;
65
using Xunit;
76

87
namespace System.Linq.Tests
98
{
109
public sealed class OrderDescendingTests : EnumerableBasedTests
1110
{
11+
[Fact]
12+
public void FirstAndLastAreDuplicatesCustomComparer()
13+
{
14+
string[] source = { "Prakash", "Alpha", "DAN", "dan", "Prakash" };
15+
string[] expected = { "Prakash", "Prakash", "DAN", "dan", "Alpha" };
16+
17+
Assert.Equal(expected, source.AsQueryable().OrderDescending(StringComparer.OrdinalIgnoreCase));
18+
}
19+
20+
[Fact]
21+
public void FirstAndLastAreDuplicatesNullPassedAsComparer()
22+
{
23+
int[] source = { 5, 1, 3, 2, 5 };
24+
int[] expected = { 5, 5, 3, 2, 1 };
25+
26+
Assert.Equal(expected, source.AsQueryable().OrderDescending(null));
27+
}
28+
29+
[Fact]
30+
public void NullSource()
31+
{
32+
IQueryable<int> source = null;
33+
AssertExtensions.Throws<ArgumentNullException>("source", () => source.OrderDescending());
34+
}
35+
36+
[Fact]
37+
public void NullSourceComparer()
38+
{
39+
IQueryable<int> source = null;
40+
AssertExtensions.Throws<ArgumentNullException>("source", () => source.OrderDescending(Comparer<int>.Default));
41+
}
42+
1243
[Fact]
1344
public void OrderDescending1()
1445
{

src/libraries/System.Linq.Queryable/tests/OrderTests.cs

Lines changed: 32 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,44 @@
22
// The .NET Foundation licenses this file to you under the MIT license.
33

44
using System.Collections.Generic;
5-
using System.Linq;
65
using Xunit;
76

87
namespace System.Linq.Tests
98
{
109
public sealed class OrderTests : EnumerableBasedTests
1110
{
11+
[Fact]
12+
public void FirstAndLastAreDuplicatesCustomComparer()
13+
{
14+
string[] source = { "Prakash", "Alpha", "dan", "DAN", "Prakash" };
15+
string[] expected = { "Alpha", "dan", "DAN", "Prakash", "Prakash" };
16+
17+
Assert.Equal(expected, source.AsQueryable().Order(StringComparer.OrdinalIgnoreCase));
18+
}
19+
20+
[Fact]
21+
public void FirstAndLastAreDuplicatesNullPassedAsComparer()
22+
{
23+
int[] source = { 5, 1, 3, 2, 5 };
24+
int[] expected = { 1, 2, 3, 5, 5 };
25+
26+
Assert.Equal(expected, source.AsQueryable().Order(null));
27+
}
28+
29+
[Fact]
30+
public void NullSource()
31+
{
32+
IQueryable<int> source = null;
33+
AssertExtensions.Throws<ArgumentNullException>("source", () => source.Order());
34+
}
35+
36+
[Fact]
37+
public void NullSourceComparer()
38+
{
39+
IQueryable<int> source = null;
40+
AssertExtensions.Throws<ArgumentNullException>("source", () => source.Order(Comparer<int>.Default));
41+
}
42+
1243
[Fact]
1344
public void Order1()
1445
{

0 commit comments

Comments
 (0)