AnonymousTest.cs 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. // Licensed to the .NET Foundation under one or more agreements.
  2. // The .NET Foundation licenses this file to you under the Apache 2.0 License.
  3. // See the LICENSE file in the project root for more information.
  4. using System;
  5. using System.Reactive;
  6. using Microsoft.Reactive.Testing;
  7. using Xunit;
  8. namespace ReactiveTests.Tests
  9. {
  10. public class AnonymousTest
  11. {
  12. [Fact]
  13. public void AnonymousObservable_ArgumentChecking()
  14. {
  15. ReactiveAssert.Throws<ArgumentNullException>(() => new AnonymousObservable<int>(null));
  16. }
  17. [Fact]
  18. public void AnonymousObserver_ArgumentChecking()
  19. {
  20. ReactiveAssert.Throws<ArgumentNullException>(() => new AnonymousObserver<int>(default));
  21. ReactiveAssert.Throws<ArgumentNullException>(() => new AnonymousObserver<int>(default, () => { }));
  22. ReactiveAssert.Throws<ArgumentNullException>(() => new AnonymousObserver<int>(x => { }, default(Action)));
  23. ReactiveAssert.Throws<ArgumentNullException>(() => new AnonymousObserver<int>(default, ex => { }));
  24. ReactiveAssert.Throws<ArgumentNullException>(() => new AnonymousObserver<int>(x => { }, default(Action<Exception>)));
  25. ReactiveAssert.Throws<ArgumentNullException>(() => new AnonymousObserver<int>(default, ex => { }, () => { }));
  26. ReactiveAssert.Throws<ArgumentNullException>(() => new AnonymousObserver<int>(x => { }, default, () => { }));
  27. ReactiveAssert.Throws<ArgumentNullException>(() => new AnonymousObserver<int>(x => { }, ex => { }, default));
  28. }
  29. [Fact]
  30. public void AnonymousObserver_Error_Null()
  31. {
  32. var observer = new AnonymousObserver<int>(_ => { }, e => { }, () => { });
  33. ReactiveAssert.Throws<ArgumentNullException>(() => observer.OnError(null));
  34. }
  35. }
  36. }