Prechádzať zdrojové kódy

Fixes parallel enumerable index counter. Fixes #14515

Marek Safar 12 rokov pred
rodič
commit
f33ed3fd4f

+ 3 - 3
mcs/class/System.Core/System.Linq.Parallel/RangeList.cs

@@ -62,10 +62,10 @@ namespace System.Linq.Parallel
 
 		public int this[int index] {
 			get {
-				if (start + index <= count)
+				if (index <= count)
 					return start + index;
-				else
-					return -1;
+
+				return -1;
 			}
 			set {
 				throw new NotImplementedException();

+ 13 - 2
mcs/class/System.Core/Test/System.Linq/ParallelEnumerableTests.cs

@@ -682,7 +682,7 @@ namespace MonoTests.System.Linq
 		}
 		
 		[Test]
-		public void RangeTestCase ()
+		public void Range ()
 		{
 			ParallelTestHelper.Repeat (() => {
 				IEnumerable<int> sync  = Enumerable.Range(1, 1000);
@@ -691,7 +691,18 @@ namespace MonoTests.System.Linq
 				AreEquivalent (sync, async_res);
 			});
 		}
-		
+	
+		[Test]
+		public void Range_StartOffset ()
+		{
+			ParallelTestHelper.Repeat (() => {
+				IEnumerable<int> sync  = Enumerable.Range (30, 10);
+				IEnumerable<int> async_res = ParallelEnumerable.Range (30, 10);
+				
+				AreEquivalent (sync, async_res);
+			});
+		}
+
 		[Test]
 		public void RepeatTestCase ()
 		{