3
3
4
4
using System . Linq . Tests ;
5
5
6
- // Original code: https://github.com/dotnet/runtime/blob/v9.0.3/src/libraries/Common/tests/System/Linq/SkipTakeData.cs
6
+ // Original code:
7
+ // https://github.com/dotnet/runtime/blob/v10.0.0-preview.2.25163.2/src/libraries/System.Linq/tests/MinTests.cs
8
+ // https://github.com/dotnet/runtime/blob/v10.0.0-preview.2.25163.2/src/libraries/System.Linq/tests/MaxTests.cs
7
9
8
10
namespace System . Linq ;
9
11
12
+ // This class is used to share test data between System.Linq/ZLinq tests.
13
+ // Note: It need to use `Shuffler.Shuffle` to show indivisual test cases on Test Explorer.
10
14
public class MinMaxTestData
11
15
{
12
16
public static IEnumerable < object [ ] > Min_AllTypes_TestData ( )
13
17
{
14
18
for ( int length = 2 ; length < 65 ; length ++ )
15
19
{
16
20
yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( byte ) i ) ) , ( byte ) length } ;
17
- yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( byte ) i ) . ToArray ( ) ) , ( byte ) length } ;
18
21
19
22
// Unit Tests does +T.One so we should generate data up to one value below sbyte.MaxValue, otherwise the type overflows
20
23
if ( ( length + length ) < sbyte . MaxValue )
21
24
{
22
25
yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( sbyte ) i ) ) , ( sbyte ) length } ;
23
- yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( sbyte ) i ) . ToArray ( ) ) , ( sbyte ) length } ;
24
26
}
25
27
26
28
yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( ushort ) i ) ) , ( ushort ) length } ;
27
- yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( ushort ) i ) . ToArray ( ) ) , ( ushort ) length } ;
28
-
29
29
yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( short ) i ) ) , ( short ) length } ;
30
- yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( short ) i ) . ToArray ( ) ) , ( short ) length } ;
31
-
32
30
yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( uint ) i ) ) , ( uint ) length } ;
33
- yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( uint ) i ) . ToArray ( ) ) , ( uint ) length } ;
34
-
35
31
yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( int ) i ) ) , ( int ) length } ;
36
- yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( int ) i ) . ToArray ( ) ) , ( int ) length } ;
37
-
38
32
yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( ulong ) i ) ) , ( ulong ) length } ;
39
- yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( ulong ) i ) . ToArray ( ) ) , ( ulong ) length } ;
40
-
41
33
yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( long ) i ) ) , ( long ) length } ;
42
- yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( long ) i ) . ToArray ( ) ) , ( long ) length } ;
43
-
44
34
yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( float ) i ) ) , ( float ) length } ;
45
- yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( float ) i ) . ToArray ( ) ) , ( float ) length } ;
46
-
47
35
yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( double ) i ) ) , ( double ) length } ;
48
- yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( double ) i ) . ToArray ( ) ) , ( double ) length } ;
49
-
50
36
yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( decimal ) i ) ) , ( decimal ) length } ;
51
- yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( decimal ) i ) . ToArray ( ) ) , ( decimal ) length } ;
52
-
53
37
yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( nuint ) i ) ) , ( nuint ) length } ;
54
- yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( nuint ) i ) . ToArray ( ) ) , ( nuint ) length } ;
55
-
56
38
yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( nint ) i ) ) , ( nint ) length } ;
57
- yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( nint ) i ) . ToArray ( ) ) , ( nint ) length } ;
58
39
}
59
40
}
60
41
@@ -63,56 +44,27 @@ public static IEnumerable<object[]> Max_AllTypes_TestData()
63
44
for ( int length = 2 ; length < 65 ; length ++ )
64
45
{
65
46
yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( byte ) i ) ) , ( byte ) ( length + length - 1 ) } ;
66
- yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( byte ) i ) . ToArray ( ) ) , ( byte ) ( length + length - 1 ) } ;
67
47
68
48
// Unit Tests does +T.One so we should generate data up to one value below sbyte.MaxValue
69
49
if ( ( length + length ) < sbyte . MaxValue )
70
50
{
71
51
yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( sbyte ) i ) ) , ( sbyte ) ( length + length - 1 ) } ;
72
- yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( sbyte ) i ) . ToArray ( ) ) , ( sbyte ) ( length + length - 1 ) } ;
73
52
}
74
53
75
54
yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( ushort ) i ) ) , ( ushort ) ( length + length - 1 ) } ;
76
- yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( ushort ) i ) . ToArray ( ) ) , ( ushort ) ( length + length - 1 ) } ;
77
-
78
55
yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( short ) i ) ) , ( short ) ( length + length - 1 ) } ;
79
- yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( short ) i ) . ToArray ( ) ) , ( short ) ( length + length - 1 ) } ;
80
-
81
56
yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( char ) i ) ) , ( char ) ( length + length - 1 ) } ;
82
- yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( char ) i ) . ToArray ( ) ) , ( char ) ( length + length - 1 ) } ;
83
-
84
57
yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( uint ) i ) ) , ( uint ) ( length + length - 1 ) } ;
85
- yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( uint ) i ) . ToArray ( ) ) , ( uint ) ( length + length - 1 ) } ;
86
-
87
58
yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( int ) i ) ) , ( int ) ( length + length - 1 ) } ;
88
- yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( int ) i ) . ToArray ( ) ) , ( int ) ( length + length - 1 ) } ;
89
-
90
59
yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( ulong ) i ) ) , ( ulong ) ( length + length - 1 ) } ;
91
- yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( ulong ) i ) . ToArray ( ) ) , ( ulong ) ( length + length - 1 ) } ;
92
-
93
60
yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( long ) i ) ) , ( long ) ( length + length - 1 ) } ;
94
- yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( long ) i ) . ToArray ( ) ) , ( long ) ( length + length - 1 ) } ;
95
-
96
61
yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( float ) i ) ) , ( float ) ( length + length - 1 ) } ;
97
- yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( float ) i ) . ToArray ( ) ) , ( float ) ( length + length - 1 ) } ;
98
-
99
62
yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( double ) i ) ) , ( double ) ( length + length - 1 ) } ;
100
- yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( double ) i ) . ToArray ( ) ) , ( double ) ( length + length - 1 ) } ;
101
-
102
63
yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( decimal ) i ) ) , ( decimal ) ( length + length - 1 ) } ;
103
- yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( decimal ) i ) . ToArray ( ) ) , ( decimal ) ( length + length - 1 ) } ;
104
-
105
64
yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( nuint ) i ) ) , ( nuint ) ( length + length - 1 ) } ;
106
- yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( nuint ) i ) . ToArray ( ) ) , ( nuint ) ( length + length - 1 ) } ;
107
-
108
65
yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( nint ) i ) ) , ( nint ) ( length + length - 1 ) } ;
109
- yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( nint ) i ) . ToArray ( ) ) , ( nint ) ( length + length - 1 ) } ;
110
-
111
66
yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( Int128 ) i ) ) , ( Int128 ) ( length + length - 1 ) } ;
112
- yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( Int128 ) i ) . ToArray ( ) ) , ( Int128 ) ( length + length - 1 ) } ;
113
-
114
67
yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( UInt128 ) i ) ) , ( UInt128 ) ( length + length - 1 ) } ;
115
- yield return new object [ ] { Shuffler . Shuffle ( Enumerable . Range ( length , length ) . Select ( i => ( UInt128 ) i ) . ToArray ( ) ) , ( UInt128 ) ( length + length - 1 ) } ;
116
68
}
117
69
}
118
70
}
0 commit comments