public void WhenUnsubscribe_ShouldBeDisposed() { var mock1 = new Mock<INotificationObserver<string>>(); var mock2 = new Mock<INotificationObserver<string>>(); var mock3 = new Mock<INotificationObserver<string>>(); var obs = new SynchronizedCollection<INotificationObserver<string>> {mock1.Object, mock2.Object, mock3.Object }; var unsub = new Unsubscriber(obs, mock2.Object); unsub.Dispose(); Assert.Equal(2, obs.Count); Assert.False(obs.Contains(mock2.Object)); }
public void WhenCtorBadArgs_ShouldThrowExceptions() { Assert.Throws<ArgumentNullException>(() => { var mock = new Mock<INotificationObserver<string>>(); var s = new Unsubscriber(null, mock.Object); }); Assert.Throws<ArgumentNullException>(() => { var obs = new SynchronizedCollection<INotificationObserver<string>> { }; var s = new Unsubscriber(obs, null); }); }