Oren Novotny пре 9 година
родитељ
комит
9247db20fd

+ 9 - 0
Ix.NET/Source/Tests/AsyncTests.Aggregates.cs

@@ -1044,6 +1044,15 @@ namespace Tests
             AssertThrows<Exception>(() => res.Wait(WaitTimeoutMs), ex_ => ((AggregateException)ex_).Flatten().InnerExceptions.Single() == ex);
         }
 
+        [Fact]
+        public async Task ToArray4()
+        {
+            var xs = await AsyncEnumerable.Range(5,50).Take(10).ToArray();
+            var ex = new[] { 5, 6, 7, 8, 9, 10, 11, 12, 13, 14 };
+
+            Assert.True(ex.SequenceEqual(xs));
+        }
+
         [Fact]
         public async Task ToDictionary_Null()
         {

+ 50 - 0
Ix.NET/Source/Tests/AsyncTests.Conversions.cs

@@ -4,6 +4,7 @@
 
 using System;
 using System.Collections.Generic;
+using System.Collections.ObjectModel;
 using System.Linq;
 using System.Text;
 using System.Threading.Tasks;
@@ -98,6 +99,55 @@ namespace Tests
             AssertThrows<Exception>(() => e.MoveNext().Wait(WaitTimeoutMs), ex_ => ((AggregateException)ex_).InnerExceptions.Single() == ex);
         }
 
+        [Fact]
+        public void ToAsyncEnumerable5()
+        {
+            var set = new HashSet<int>(new[] { 1, 2, 3, 4 });
+
+            var xs = set.ToAsyncEnumerable();
+            var e = xs.GetEnumerator();
+            HasNext(e, 1);
+            HasNext(e, 2);
+            HasNext(e, 3);
+            HasNext(e, 4);
+            NoNext(e);
+        }
+
+        [Fact]
+        public async Task ToAsyncEnumerable6()
+        {
+            var set = new HashSet<int>(new[] { 1, 2, 3, 4, 5, 6, 7, 8 });
+
+            var xs = set.ToAsyncEnumerable();
+
+            var arr = await xs.ToArray();
+
+            Assert.True(set.SetEquals(arr));
+        }
+
+        [Fact]
+        public async Task ToAsyncEnumerable7()
+        {
+            var set = new HashSet<int>(new[] { 1, 2, 3, 4 });
+            var xs = set.ToAsyncEnumerable();
+
+            var arr = await xs.ToList();
+
+            Assert.True(set.SetEquals(arr));
+        }
+
+        [Fact]
+        public async Task ToAsyncEnumerable8()
+        {
+            var set = new HashSet<int>(new[] { 1, 2, 3, 4 });
+            var xs = set.ToAsyncEnumerable();
+
+            var c = await xs.Count();
+
+            Assert.Equal(set.Count, c);
+        }
+
+
         [Fact]
         public void ToAsyncEnumerable_With_Completed_Task()
         {