浏览代码

More grouping tests

Oren Novotny 9 年之前
父节点
当前提交
a8224f249d
共有 1 个文件被更改,包括 49 次插入0 次删除
  1. 49 0
      Ix.NET/Source/Tests/AsyncTests.Single.cs

+ 49 - 0
Ix.NET/Source/Tests/AsyncTests.Single.cs

@@ -1504,6 +1504,15 @@ namespace Tests
             Assert.Equal(3, await ys.Count());
         }
 
+        [Fact]
+        public async Task Reverse8()
+        {
+            var xs = new[] { 1, 2, 3 }.ToAsyncEnumerable();
+            var ys = xs.Reverse();
+
+            await SequenceIdentity(ys);
+        }
+
         [Fact]
         public void OrderBy_Null()
         {
@@ -2480,6 +2489,46 @@ namespace Tests
             await SequenceIdentity(ys);
         }
 
+        [Fact]
+        public async Task GroupBy34()
+        {
+            var xs = AsyncEnumerable.Range(0, 10);
+            var ys = xs.GroupBy(x => x, (k, cs) => k + " - " + cs.Aggregate("", (a, c) => a + c).Result, new EqMod(3));
+
+            var arr = new[] { "0 - 0369", "1 - 147", "2 - 258" };
+
+            Assert.Equal(arr, await ys.ToArray());
+        }
+
+        [Fact]
+        public async Task GroupBy35()
+        {
+            var xs = AsyncEnumerable.Range(0, 10);
+            var ys = xs.GroupBy(x => x, (k, cs) => k + " - " + cs.Aggregate("", (a, c) => a + c).Result, new EqMod(3));
+
+            var arr = new List<string> { "0 - 0369", "1 - 147", "2 - 258" };
+
+            Assert.Equal(arr, await ys.ToList());
+        }
+
+        [Fact]
+        public async Task GroupBy36()
+        {
+            var xs = AsyncEnumerable.Range(0, 10);
+            var ys = xs.GroupBy(x => x, (k, cs) => k + " - " + cs.Aggregate("", (a, c) => a + c).Result, new EqMod(3));
+
+            Assert.Equal(3, await ys.Count());
+        }
+
+        [Fact]
+        public async Task GroupBy37()
+        {
+            var xs = AsyncEnumerable.Range(0, 10);
+            var ys = xs.GroupBy(x => x, (k, cs) => k + " - " + cs.Aggregate("", (a, c) => a + c).Result, new EqMod(3));
+
+            await SequenceIdentity(ys);
+        }
+
         class Kvp : IEquatable<Kvp>
         {
             public bool Equals(Kvp other)