// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the Apache 2.0 License. // See the LICENSE file in the project root for more information. using System; using System.Reactive; using Microsoft.Reactive.Testing; using Xunit; namespace ReactiveTests.Tests { public class AnonymousTest { [Fact] public void AnonymousObservable_ArgumentChecking() { ReactiveAssert.Throws(() => new AnonymousObservable(null)); } [Fact] public void AnonymousObserver_ArgumentChecking() { ReactiveAssert.Throws(() => new AnonymousObserver(default)); ReactiveAssert.Throws(() => new AnonymousObserver(default, () => { })); ReactiveAssert.Throws(() => new AnonymousObserver(x => { }, default(Action))); ReactiveAssert.Throws(() => new AnonymousObserver(default, ex => { })); ReactiveAssert.Throws(() => new AnonymousObserver(x => { }, default(Action))); ReactiveAssert.Throws(() => new AnonymousObserver(default, ex => { }, () => { })); ReactiveAssert.Throws(() => new AnonymousObserver(x => { }, default, () => { })); ReactiveAssert.Throws(() => new AnonymousObserver(x => { }, ex => { }, default)); } [Fact] public void AnonymousObserver_Error_Null() { var observer = new AnonymousObserver(_ => { }, e => { }, () => { }); ReactiveAssert.Throws(() => observer.OnError(null)); } } }