Skip to content

Commit 1496c27

Browse files
Copilotstephentoub
andcommitted
Fix Assert.NotNull issues in System.Linq SequenceTests
Co-authored-by: stephentoub <[email protected]>
1 parent 5ed6fdd commit 1496c27

File tree

1 file changed

+12
-9
lines changed

1 file changed

+12
-9
lines changed

src/libraries/System.Linq/tests/SequenceTests.cs

Lines changed: 12 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -50,25 +50,28 @@ static void ValidateSigned<T>() where T : INumber<T>
5050
{
5151
ValidateUnsigned<T>();
5252

53-
for (int i = 1; i < 3; i++)
54-
{
55-
Assert.NotNull(Enumerable.Sequence(T.CreateTruncating(123), T.CreateTruncating(122), T.CreateTruncating(-i)));
56-
}
53+
// Test negative steps from 123 to 122
54+
// step=-1: should give [123, 122] (2 elements)
55+
// step=-2: should give [123] (1 element, step too large)
56+
Assert.Equal(2, Enumerable.Sequence(T.CreateTruncating(123), T.CreateTruncating(122), T.CreateTruncating(-1)).Count());
57+
Assert.Single(Enumerable.Sequence(T.CreateTruncating(123), T.CreateTruncating(122), T.CreateTruncating(-2)));
5758

5859
ValidateThrows(T.CreateTruncating(123), T.CreateTruncating(124), T.CreateTruncating(-2));
5960
}
6061

6162
static void ValidateUnsigned<T>() where T : INumber<T>
6263
{
64+
// When start == end, all steps should return single element [123]
6365
for (int i = 0; i < 3; i++)
6466
{
65-
Assert.NotNull(Enumerable.Sequence(T.CreateTruncating(123), T.CreateTruncating(123), T.CreateTruncating(i)));
67+
Assert.Single(Enumerable.Sequence(T.CreateTruncating(123), T.CreateTruncating(123), T.CreateTruncating(i)));
6668
}
6769

68-
for (int i = 1; i < 3; i++)
69-
{
70-
Assert.NotNull(Enumerable.Sequence(T.CreateTruncating(123), T.CreateTruncating(124), T.CreateTruncating(i)));
71-
}
70+
// Test positive steps from 123 to 124
71+
// step=1: should give [123, 124] (2 elements)
72+
// step=2: should give [123] (1 element, step too large)
73+
Assert.Equal(2, Enumerable.Sequence(T.CreateTruncating(123), T.CreateTruncating(124), T.CreateTruncating(1)).Count());
74+
Assert.Single(Enumerable.Sequence(T.CreateTruncating(123), T.CreateTruncating(124), T.CreateTruncating(2)));
7275

7376
ValidateThrows(T.CreateTruncating(123), T.CreateTruncating(122), T.CreateTruncating(2));
7477
}

0 commit comments

Comments
 (0)