ソースを参照

Adding a few trivial tests.

Bart De Smet 10 年 前
コミット
c47f93fe04

+ 37 - 3
Rx.NET/Source/Tests.System.Reactive/Tests/Linq/ObservableCreationTest.cs

@@ -58,7 +58,7 @@ namespace ReactiveTests.Tests
             var d = xs.Subscribe(lst.Add);
             d.Dispose();
 
-            Assert.IsTrue(lst.SequenceEqual(new[] {42}));
+            Assert.IsTrue(lst.SequenceEqual(new[] { 42 }));
         }
 
         [TestMethod]
@@ -1308,7 +1308,7 @@ namespace ReactiveTests.Tests
         }
 
         [TestMethod]
-        public void Empty_Basic_Witness()
+        public void Empty_Basic_Witness1()
         {
             var scheduler = new TestScheduler();
 
@@ -1321,6 +1321,20 @@ namespace ReactiveTests.Tests
             );
         }
 
+        [TestMethod]
+        public void Empty_Basic_Witness2()
+        {
+            var e = new ManualResetEvent(false);
+
+            Observable.Empty<int>(42).Subscribe(
+                _ => { Assert.Fail(); },
+                _ => { Assert.Fail(); },
+                () => e.Set()
+            );
+
+            e.WaitOne();
+        }
+
         #endregion
 
         #region + Generate +
@@ -2111,7 +2125,7 @@ namespace ReactiveTests.Tests
         }
 
         [TestMethod]
-        public void Throw_Witness_Basic()
+        public void Throw_Witness_Basic1()
         {
             var scheduler = new TestScheduler();
 
@@ -2126,6 +2140,26 @@ namespace ReactiveTests.Tests
             );
         }
 
+        [TestMethod]
+        public void Throw_Witness_Basic2()
+        {
+            var e = new ManualResetEvent(false);
+
+            var ex = new Exception();
+
+            var res = default(Exception);
+
+            Observable.Throw<int>(ex, 42).Subscribe(
+                _ => { Assert.Fail(); },
+                err => { res = err; e.Set(); },
+                () => { Assert.Fail(); }
+            );
+
+            e.WaitOne();
+
+            Assert.AreSame(ex, res);
+        }
+
         #endregion
 
         #region + Using +

+ 9 - 0
Rx.NET/Source/Tests.System.Reactive/Tests/Linq/ObservableSingleTest.cs

@@ -3511,15 +3511,24 @@ namespace ReactiveTests.Tests
         [TestMethod]
         public void StartWith_ArgumentChecking()
         {
+            var values = (IEnumerable<int>)new[] { 1, 2, 3 };
+
             var scheduler = new TestScheduler();
             var someObservable = Observable.Empty<int>();
 
             ReactiveAssert.Throws<ArgumentNullException>(() => Observable.StartWith(default(IObservable<int>), 1));
             ReactiveAssert.Throws<ArgumentNullException>(() => Observable.StartWith(someObservable, default(int[])));
 
+            ReactiveAssert.Throws<ArgumentNullException>(() => Observable.StartWith(default(IObservable<int>), values));
+            ReactiveAssert.Throws<ArgumentNullException>(() => Observable.StartWith(someObservable, default(IEnumerable<int>)));
+
             ReactiveAssert.Throws<ArgumentNullException>(() => Observable.StartWith(default(IObservable<int>), scheduler, 1));
             ReactiveAssert.Throws<ArgumentNullException>(() => Observable.StartWith(someObservable, default(IScheduler), 1));
             ReactiveAssert.Throws<ArgumentNullException>(() => Observable.StartWith(someObservable, scheduler, default(int[])));
+
+            ReactiveAssert.Throws<ArgumentNullException>(() => Observable.StartWith(default(IObservable<int>), scheduler, values));
+            ReactiveAssert.Throws<ArgumentNullException>(() => Observable.StartWith(someObservable, default(IScheduler), values));
+            ReactiveAssert.Throws<ArgumentNullException>(() => Observable.StartWith(someObservable, scheduler, default(IEnumerable<int>)));
         }
 
         [TestMethod]