Skip to content

Commit 151f38a

Browse files
committed
Fixed bugs in unit tests
1 parent 8a70ace commit 151f38a

File tree

2 files changed

+14
-6
lines changed

2 files changed

+14
-6
lines changed

UnitTests/UnitTests.HighPerformance.Shared/Memory/Test_ReadOnlyMemory2D{T}.cs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,9 @@ public void Test_ReadOnlyMemory2DT_Array1DConstructor()
6161
Assert.AreEqual(memory2d.Span[0, 0], 2);
6262
Assert.AreEqual(memory2d.Span[1, 1], 6);
6363

64-
Assert.ThrowsException<ArrayTypeMismatchException>(() => new ReadOnlyMemory2D<object>(new string[1], 1, 1));
64+
// Here we check to ensure a covariant array conversion is allowed for ReadOnlyMemory2D<T>
65+
_ = new ReadOnlyMemory2D<object>(new string[1], 1, 1);
66+
6567
Assert.ThrowsException<ArgumentOutOfRangeException>(() => new ReadOnlyMemory2D<int>(array, -99, 1, 1, 1));
6668
Assert.ThrowsException<ArgumentOutOfRangeException>(() => new ReadOnlyMemory2D<int>(array, 0, -10, 1, 1));
6769
Assert.ThrowsException<ArgumentOutOfRangeException>(() => new ReadOnlyMemory2D<int>(array, 0, 1, 1, -1));
@@ -88,7 +90,7 @@ public void Test_ReadOnlyMemory2DT_Array2DConstructor_1()
8890
Assert.AreEqual(memory2d.Span[0, 1], 2);
8991
Assert.AreEqual(memory2d.Span[1, 2], 6);
9092

91-
Assert.ThrowsException<ArrayTypeMismatchException>(() => new ReadOnlyMemory2D<object>(new string[1, 2]));
93+
_ = new ReadOnlyMemory2D<object>(new string[1, 2]);
9294
}
9395

9496
[TestCategory("ReadOnlyMemory2DT")]
@@ -110,7 +112,9 @@ public void Test_ReadOnlyMemory2DT_Array2DConstructor_2()
110112
Assert.AreEqual(memory2d.Span[0, 0], 2);
111113
Assert.AreEqual(memory2d.Span[1, 1], 6);
112114

113-
Assert.ThrowsException<ArrayTypeMismatchException>(() => new ReadOnlyMemory2D<object>(new string[1, 2], 0, 0, 2, 2));
115+
_ = new ReadOnlyMemory2D<object>(new string[1, 2]);
116+
117+
Assert.ThrowsException<ArgumentOutOfRangeException>(() => new ReadOnlyMemory2D<object>(new string[1, 2], 0, 0, 2, 2));
114118
}
115119

116120
[TestCategory("ReadOnlyMemory2DT")]

UnitTests/UnitTests.HighPerformance.Shared/Memory/Test_ReadOnlySpan2D{T}.cs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -112,7 +112,9 @@ public void Test_ReadOnlySpan2DT_Array1DConstructor()
112112
Assert.AreEqual(span2d[0, 0], 2);
113113
Assert.AreEqual(span2d[1, 1], 6);
114114

115-
Assert.ThrowsException<ArrayTypeMismatchException>(() => new ReadOnlySpan2D<object>(new string[1], 1, 1));
115+
// Same for ReadOnlyMemory2D<T>, we need to check that covariant array conversions are allowed
116+
_ = new ReadOnlySpan2D<object>(new string[1], 1, 1);
117+
116118
Assert.ThrowsException<ArgumentOutOfRangeException>(() => new ReadOnlySpan2D<int>(array, -99, 1, 1, 1));
117119
Assert.ThrowsException<ArgumentOutOfRangeException>(() => new ReadOnlySpan2D<int>(array, 0, -10, 1, 1));
118120
Assert.ThrowsException<ArgumentOutOfRangeException>(() => new ReadOnlySpan2D<int>(array, 0, 1, 1, -1));
@@ -139,7 +141,7 @@ public void Test_ReadOnlySpan2DT_Array2DConstructor_1()
139141
Assert.AreEqual(span2d[0, 1], 2);
140142
Assert.AreEqual(span2d[1, 2], 6);
141143

142-
Assert.ThrowsException<ArrayTypeMismatchException>(() => new ReadOnlySpan2D<object>(new string[1, 2]));
144+
_ = new ReadOnlySpan2D<object>(new string[1, 2]);
143145
}
144146

145147
[TestCategory("ReadOnlySpan2DT")]
@@ -161,7 +163,9 @@ public void Test_ReadOnlySpan2DT_Array2DConstructor_2()
161163
Assert.AreEqual(span2d[0, 0], 2);
162164
Assert.AreEqual(span2d[1, 1], 6);
163165

164-
Assert.ThrowsException<ArrayTypeMismatchException>(() => new ReadOnlySpan2D<object>(new string[1, 2], 0, 0, 2, 2));
166+
_ = new ReadOnlySpan2D<object>(new string[1, 2]);
167+
168+
Assert.ThrowsException<ArgumentOutOfRangeException>(() => new ReadOnlySpan2D<object>(new string[1, 2], 0, 0, 2, 2));
165169
}
166170

167171
[TestCategory("ReadOnlySpan2DT")]

0 commit comments

Comments
 (0)