Bart De Smet 6 лет назад
Родитель
Сommit
de10e1351a
1 измененных файлов с 60 добавлено и 74 удалено
  1. 60 74
      Ix.NET/Source/System.Linq.Async.Tests/System/Linq/Operators/GroupBy.cs

+ 60 - 74
Ix.NET/Source/System.Linq.Async.Tests/System/Linq/Operators/GroupBy.cs

@@ -49,7 +49,7 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy1()
+        public async Task GroupBy_KeySelector_Sync_Simple1()
         {
             var xs = new[] {
                 new { Name = "Bart", Age = 27 },
@@ -98,7 +98,7 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy2()
+        public async Task GroupBy_KeySelector_Sync_Simple2()
         {
             var xs = new[] {
                 new { Name = "Bart", Age = 27 },
@@ -155,7 +155,7 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy3()
+        public async Task GroupBy_KeySelector_Sync_Empty()
         {
             var xs = AsyncEnumerable.Empty<int>();
             var ys = xs.GroupBy(x => x);
@@ -165,7 +165,7 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy4Async()
+        public async Task GroupBy_KeySelector_Sync_Throws_Source1()
         {
             var ex = new Exception("Bang!");
             var xs = Throw<int>(ex);
@@ -176,19 +176,7 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy5Async()
-        {
-            var ex = new Exception("Bang!");
-            var xs = GetXs(ex).ToAsyncEnumerable();
-            var ys = xs.GroupBy(x => x);
-
-            var e = ys.GetAsyncEnumerator();
-
-            await AssertThrowsAsync(e.MoveNextAsync(), ex);
-        }
-
-        [Fact]
-        public async Task GroupBy6Async()
+        public async Task GroupBy_KeySelector_Sync_Throws_Source2()
         {
             var ex = new Exception("Bang!");
             var xs = GetXs(ex).ToAsyncEnumerable();
@@ -207,7 +195,7 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy7Async()
+        public async Task GroupBy_KeySelector_Sync_Throws_KeySelector1()
         {
             var ex = new Exception("Bang!");
             var xs = Return42;
@@ -218,7 +206,7 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy8Async()
+        public async Task GroupBy_KeySelector_Sync_Throws_KeySelector2()
         {
             var ex = new Exception("Bang!");
             var xs = new[] { 1, 2, 3 }.ToAsyncEnumerable();
@@ -230,7 +218,7 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy9()
+        public async Task GroupBy_KeySelector_ElementSelector_Sync_Simple1()
         {
             var xs = AsyncEnumerable.Range(0, 10);
             var ys = xs.GroupBy(x => x % 3, x => (char)('a' + x));
@@ -269,7 +257,7 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy10()
+        public async Task GroupBy_KeySelector_ElementSelector_ResultSelector_Sync_Simple1()
         {
             var xs = AsyncEnumerable.Range(0, 10);
             var ys = xs.GroupBy(x => x % 3, x => (char)('a' + x), (k, cs) => k + " - " + cs.AggregateAsync("", (a, c) => a + c).Result);
@@ -282,7 +270,7 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy11()
+        public async Task GroupBy_KeySelector_ElementSelector_ResultSelector_Sync_Simple2()
         {
             var xs = AsyncEnumerable.Range(0, 10);
             var ys = xs.GroupBy(x => x % 3, (k, cs) => k + " - " + cs.AggregateAsync("", (a, c) => a + c).Result);
@@ -295,7 +283,7 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy12()
+        public async Task GroupBy_KeySelector_Sync_Comparer_Simple()
         {
             var xs = AsyncEnumerable.Range(0, 10);
             var ys = xs.GroupBy(x => x, new EqMod(3));
@@ -334,7 +322,7 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy13()
+        public async Task GroupBy_KeySelector_ElementSelector_Sync_Comparer_Simple1()
         {
             var xs = AsyncEnumerable.Range(0, 10);
             var ys = xs.GroupBy(x => x, x => (char)('a' + x), new EqMod(3));
@@ -373,33 +361,7 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy14()
-        {
-            var xs = AsyncEnumerable.Range(0, 10);
-            var ys = xs.GroupBy(x => x, x => (char)('a' + x), (k, cs) => k + " - " + cs.AggregateAsync("", (a, c) => a + c).Result, new EqMod(3));
-
-            var e = ys.GetAsyncEnumerator();
-            await HasNextAsync(e, "0 - adgj");
-            await HasNextAsync(e, "1 - beh");
-            await HasNextAsync(e, "2 - cfi");
-            await NoNextAsync(e);
-        }
-
-        [Fact]
-        public async Task GroupBy15()
-        {
-            var xs = AsyncEnumerable.Range(0, 10);
-            var ys = xs.GroupBy(x => x, (k, cs) => k + " - " + cs.AggregateAsync("", (a, c) => a + c).Result, new EqMod(3));
-
-            var e = ys.GetAsyncEnumerator();
-            await HasNextAsync(e, "0 - 0369");
-            await HasNextAsync(e, "1 - 147");
-            await HasNextAsync(e, "2 - 258");
-            await NoNextAsync(e);
-        }
-
-        [Fact]
-        public async Task GroupBy16()
+        public async Task GroupBy_KeySelector_ElementSelector_Sync_Comparer_Simple2()
         {
             var xs = AsyncEnumerable.Range(0, 10);
             var ys = xs.GroupBy(x => x, x => (char)('a' + x), new EqMod(3));
@@ -443,7 +405,33 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy17()
+        public async Task GroupBy_KeySelector_ElementSelector_ResultSelector_Sync_Comparer_Simple1()
+        {
+            var xs = AsyncEnumerable.Range(0, 10);
+            var ys = xs.GroupBy(x => x, x => (char)('a' + x), (k, cs) => k + " - " + cs.AggregateAsync("", (a, c) => a + c).Result, new EqMod(3));
+
+            var e = ys.GetAsyncEnumerator();
+            await HasNextAsync(e, "0 - adgj");
+            await HasNextAsync(e, "1 - beh");
+            await HasNextAsync(e, "2 - cfi");
+            await NoNextAsync(e);
+        }
+
+        [Fact]
+        public async Task GroupBy_KeySelector_ElementSelector_ResultSelector_Sync_Comparer_Simple2()
+        {
+            var xs = AsyncEnumerable.Range(0, 10);
+            var ys = xs.GroupBy(x => x, (k, cs) => k + " - " + cs.AggregateAsync("", (a, c) => a + c).Result, new EqMod(3));
+
+            var e = ys.GetAsyncEnumerator();
+            await HasNextAsync(e, "0 - 0369");
+            await HasNextAsync(e, "1 - 147");
+            await HasNextAsync(e, "2 - 258");
+            await NoNextAsync(e);
+        }
+
+        [Fact]
+        public async Task GroupBy_KeySelector_ElementSelector_Sync_Comparer_DisposeEarly()
         {
             var xs = AsyncEnumerable.Range(0, 10);
             var ys = xs.GroupBy(x => x, x => (char)('a' + x), new EqMod(3));
@@ -455,7 +443,7 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy18()
+        public async Task GroupBy_KeySelector_ElementSelector_Sync_Comparer_Simple()
         {
             var xs = AsyncEnumerable.Range(0, 10);
             var ys = xs.GroupBy(x => x, x => (char)('a' + x), new EqMod(3));
@@ -480,7 +468,7 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy19()
+        public async Task GroupBy_KeySelector_Sync_SequenceIdentity()
         {
             // We're using Kvp here because the types will eval as equal for this test
             var xs = new[]
@@ -501,9 +489,8 @@ namespace Tests
             await SequenceIdentity(res);
         }
 
-
         [Fact]
-        public async Task GroupBy20()
+        public async Task GroupBy_KeySelector_ElementSelector_ResultSelector_Sync_ToArray()
         {
             var xs = AsyncEnumerable.Range(0, 10);
             var ys = xs.GroupBy(x => x % 3, x => (char)('a' + x), (k, cs) => k + " - " + cs.AggregateAsync("", (a, c) => a + c).Result);
@@ -514,7 +501,7 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy21()
+        public async Task GroupBy_KeySelector_ElementSelector_ResultSelector_Sync_ToList()
         {
             var xs = AsyncEnumerable.Range(0, 10);
             var ys = xs.GroupBy(x => x % 3, x => (char)('a' + x), (k, cs) => k + " - " + cs.AggregateAsync("", (a, c) => a + c).Result);
@@ -525,7 +512,7 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy22()
+        public async Task GroupBy_KeySelector_ElementSelector_ResultSelector_Sync_Count()
         {
             var xs = AsyncEnumerable.Range(0, 10);
             var ys = xs.GroupBy(x => x % 3, x => (char)('a' + x), (k, cs) => k + " - " + cs.AggregateAsync("", (a, c) => a + c).Result);
@@ -534,7 +521,7 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy23()
+        public async Task GroupBy_KeySelector_ElementSelector_ResultSelector_Sync_SequenceIdentity()
         {
             var xs = AsyncEnumerable.Range(0, 10);
             var ys = xs.GroupBy(x => x % 3, x => (char)('a' + x), (k, cs) => k + " - " + cs.AggregateAsync("", (a, c) => a + c).Result);
@@ -543,7 +530,7 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy24()
+        public async Task GroupBy_KeySelector_ElementSelector_Sync_Group_ToArray()
         {
             var xs = AsyncEnumerable.Range(0, 10);
             var ys = xs.GroupBy(x => x % 3, x => (char)('a' + x));
@@ -572,7 +559,7 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy25()
+        public async Task GroupBy_KeySelector_ElementSelector_Sync_Group_ToList()
         {
             var xs = AsyncEnumerable.Range(0, 10);
             var ys = xs.GroupBy(x => x % 3, x => (char)('a' + x));
@@ -599,7 +586,7 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy26()
+        public async Task GroupBy_KeySelector_ElementSelector_Sync_Group_Count()
         {
             var xs = AsyncEnumerable.Range(0, 10);
             var ys = xs.GroupBy(x => x % 3, x => (char)('a' + x));
@@ -622,7 +609,7 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy27()
+        public async Task GroupBy_KeySelector_ElementSelector_Sync_Count()
         {
             var xs = AsyncEnumerable.Range(0, 10);
             var ys = xs.GroupBy(x => x % 3, x => (char)('a' + x));
@@ -633,7 +620,7 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy28()
+        public async Task GroupBy_KeySelector_ElementSelector_Sync_SequenceIdentity()
         {
             var xs = AsyncEnumerable.Range(0, 10);
             var ys = xs.GroupBy(x => x % 3, x => (char)('a' + x));
@@ -642,7 +629,7 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy29()
+        public async Task GroupBy_KeySelector_Sync_Comparer_Group_ToList()
         {
             var xs = AsyncEnumerable.Range(0, 10);
             var ys = xs.GroupBy(x => x, new EqMod(3));
@@ -669,12 +656,11 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy30()
+        public async Task GroupBy_KeySelector_Sync_Comparer_Group_Count()
         {
             var xs = AsyncEnumerable.Range(0, 10);
             var ys = xs.GroupBy(x => x, new EqMod(3));
 
-
             var gar = await ys.ToListAsync();
 
             Assert.Equal(3, gar.Count);
@@ -693,7 +679,7 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy31()
+        public async Task GroupBy_KeySelector_Sync_Comparer_Group_ToArray()
         {
             var xs = AsyncEnumerable.Range(0, 10);
             var ys = xs.GroupBy(x => x, new EqMod(3));
@@ -722,7 +708,7 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy32()
+        public async Task GroupBy_KeySelector_Sync_Comparer_Count()
         {
             var xs = AsyncEnumerable.Range(0, 10);
             var ys = xs.GroupBy(x => x, new EqMod(3));
@@ -733,7 +719,7 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy33()
+        public async Task GroupBy_KeySelector_Sync_Comparer_SequenceIdentity()
         {
             var xs = AsyncEnumerable.Range(0, 10);
             var ys = xs.GroupBy(x => x, new EqMod(3));
@@ -742,7 +728,7 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy34()
+        public async Task GroupBy_KeySelector_ResultSelector_Sync_Comparer_ToArray()
         {
             var xs = AsyncEnumerable.Range(0, 10);
             var ys = xs.GroupBy(x => x, (k, cs) => k + " - " + cs.AggregateAsync("", (a, c) => a + c).Result, new EqMod(3));
@@ -753,7 +739,7 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy35()
+        public async Task GroupBy_KeySelector_ResultSelector_Sync_Comparer_ToList()
         {
             var xs = AsyncEnumerable.Range(0, 10);
             var ys = xs.GroupBy(x => x, (k, cs) => k + " - " + cs.AggregateAsync("", (a, c) => a + c).Result, new EqMod(3));
@@ -764,7 +750,7 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy36()
+        public async Task GroupBy_KeySelector_ResultSelector_Sync_Comparer_Count()
         {
             var xs = AsyncEnumerable.Range(0, 10);
             var ys = xs.GroupBy(x => x, (k, cs) => k + " - " + cs.AggregateAsync("", (a, c) => a + c).Result, new EqMod(3));
@@ -773,7 +759,7 @@ namespace Tests
         }
 
         [Fact]
-        public async Task GroupBy37()
+        public async Task GroupBy_KeySelector_ResultSelector_Sync_Comparer_SequenceIdentity()
         {
             var xs = AsyncEnumerable.Range(0, 10);
             var ys = xs.GroupBy(x => x, (k, cs) => k + " - " + cs.AggregateAsync("", (a, c) => a + c).Result, new EqMod(3));