AnonymousTest.cs 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. // Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. See License.txt in the project root for license information.
  2. using System;
  3. using Microsoft.VisualStudio.TestTools.UnitTesting;
  4. using Microsoft.Reactive.Testing;
  5. using System.Reactive;
  6. namespace ReactiveTests.Tests
  7. {
  8. [TestClass]
  9. public class AnonymousTest
  10. {
  11. [TestMethod]
  12. public void AnonymousObservable_ArgumentChecking()
  13. {
  14. ReactiveAssert.Throws<ArgumentNullException>(() => new AnonymousObservable<int>(null));
  15. }
  16. [TestMethod]
  17. public void AnonymousObserver_ArgumentChecking()
  18. {
  19. ReactiveAssert.Throws<ArgumentNullException>(() => new AnonymousObserver<int>(default(Action<int>)));
  20. ReactiveAssert.Throws<ArgumentNullException>(() => new AnonymousObserver<int>(default(Action<int>), () => { }));
  21. ReactiveAssert.Throws<ArgumentNullException>(() => new AnonymousObserver<int>(x => { }, default(Action)));
  22. ReactiveAssert.Throws<ArgumentNullException>(() => new AnonymousObserver<int>(default(Action<int>), ex => { }));
  23. ReactiveAssert.Throws<ArgumentNullException>(() => new AnonymousObserver<int>(x => { }, default(Action<Exception>)));
  24. ReactiveAssert.Throws<ArgumentNullException>(() => new AnonymousObserver<int>(default(Action<int>), ex => { }, () => { }));
  25. ReactiveAssert.Throws<ArgumentNullException>(() => new AnonymousObserver<int>(x => { }, default(Action<Exception>), () => { }));
  26. ReactiveAssert.Throws<ArgumentNullException>(() => new AnonymousObserver<int>(x => { }, ex => { }, default(Action)));
  27. }
  28. [TestMethod]
  29. public void AnonymousObserver_Error_Null()
  30. {
  31. var observer = new AnonymousObserver<int>(_ => { }, e => { }, () => { });
  32. ReactiveAssert.Throws<ArgumentNullException>(() => observer.OnError(null));
  33. }
  34. }
  35. }