public void Constructor_WithValidValues_ReturnsUnsubscriberInstance() { var obj = new object(); var collection = new Collection<object> {obj}; var unsubscriber = new Unsubscriber<object>(obj, collection); Assert.IsNotNull(unsubscriber); }
public void Constructor_WithNullValues_ReturnsUnsubscriberInstance() { var nullInstance = new Unsubscriber<object>(null, new Collection<object>()); var nullCollection = new Unsubscriber<object>(new object(), null); var nullInstanceAndCollection = new Unsubscriber<object>(null, null); Assert.IsNotNull(nullInstance); Assert.IsNotNull(nullCollection); Assert.IsNotNull(nullInstanceAndCollection); }
public void Dispose_WithNullConstructorParameters_DoesNotThrow() { var nullInstance = new Unsubscriber<object>(null, new Collection<object>()); var nullCollection = new Unsubscriber<object>(new object(), null); var nullInstanceAndCollection = new Unsubscriber<object>(null, null); Assert.DoesNotThrow(nullInstance.Dispose); Assert.DoesNotThrow(nullCollection.Dispose); Assert.DoesNotThrow(nullInstanceAndCollection.Dispose); }
public void Dispose_WithCollectionContainingInstance_RemovesInstanceFromCollection() { var obj = new object(); var collection = new Collection<object> {obj}; var unsubscriber = new Unsubscriber<object>(obj, collection); unsubscriber.Dispose(); Assert.IsEmpty(collection); }
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.DoesNotContain(mock2.Object, obs); }
public void Dispose() { var mockery = new MockRepository(); var observer = mockery.StrictMock<IObserver<string>>(); var observers = mockery.StrictMock<IList<IObserver<string>>>(); using (mockery.Record()) { Expect.Call(observers.Contains(observer)).Return(true); Expect.Call(observers.Remove(observer)).Return(true); } using (mockery.Playback()) { var unsubscriber = new Unsubscriber<string>(observers, observer); unsubscriber.Dispose(); } }
/// <summary> /// Constructor, obtiene instancias de servicios de banner y campaña /// Se subscribe a los mismos /// Ordena el inicio de tareas de actualizacion /// </summary> /// <param name="campaignService"></param> /// <param name="bannerService"></param> public OperativeForm(ICampaignService campaignService, IBannerService bannerService) { InitializeComponent(); this.iCampaignService = campaignService; this.iBannerService = bannerService; this.bannerText.Text = ""; iBannerUnsubscriber = (Unsubscriber <IList <string> >)iBannerService.Subscribe(this); iCampaignUnsubscriber = (Unsubscriber <byte[]>) this.iCampaignService.Subscribe(this); iBannerService.StartAsyncTasks(); iCampaignService.StartAsyncTasks(); // Timmer para mover el banner de texto this.timer.Interval = 100; this.timer.Start(); }
/// <summary>Snippet for DeleteUnsubscriberAsync</summary> public async Task DeleteUnsubscriberRequestObjectAsync() { // Snippet: DeleteUnsubscriberAsync(DeleteUnsubscriberRequest, CallSettings) // Additional: DeleteUnsubscriberAsync(DeleteUnsubscriberRequest, CancellationToken) // Create client UnsubscribersClient unsubscribersClient = await UnsubscribersClient.CreateAsync(); // Initialize request argument(s) DeleteUnsubscriberRequest request = new DeleteUnsubscriberRequest { UnsubscriberName = UnsubscriberName.FromProjectUnsubscriber("[PROJECT]", "[UNSUBSCRIBER]"), }; // Make the request Unsubscriber response = await unsubscribersClient.DeleteUnsubscriberAsync(request); // End snippet }
public void Unsubscribe_From_DB_When_Disposing() { var subscriptions = new SubscriptionDict(); var sub1 = new DocumentSubscription <Model>(_db.NotificationService); var sub2 = new CollectionSubscription <Model>(_db.NotificationService); subscriptions.TryAdd(sub1, default); subscriptions.TryAdd(sub2, default); subscriptions.Keys.Should().HaveCount(2); subscriptions.Keys.Should().Contain(sub1); subscriptions.Keys.Should().Contain(sub2); using (var unsubscriber = new Unsubscriber(subscriptions, sub1)) { } subscriptions.Keys.Should().HaveCount(1); subscriptions.Keys.Should().Contain(sub2); }
/// <summary>Snippet for UpdateUnsubscriberAsync</summary> public async Task UpdateUnsubscriberRequestObjectAsync() { // Snippet: UpdateUnsubscriberAsync(UpdateUnsubscriberRequest, CallSettings) // Additional: UpdateUnsubscriberAsync(UpdateUnsubscriberRequest, CancellationToken) // Create client UnsubscribersClient unsubscribersClient = await UnsubscribersClient.CreateAsync(); // Initialize request argument(s) UpdateUnsubscriberRequest request = new UpdateUnsubscriberRequest { Unsubscriber = new Unsubscriber(), UpdateMask = new FieldMask(), }; // Make the request Unsubscriber response = await unsubscribersClient.UpdateUnsubscriberAsync(request); // End snippet }
/// <summary>Snippet for CreateUnsubscriberAsync</summary> public async Task CreateUnsubscriberRequestObjectAsync() { // Snippet: CreateUnsubscriberAsync(CreateUnsubscriberRequest, CallSettings) // Additional: CreateUnsubscriberAsync(CreateUnsubscriberRequest, CancellationToken) // Create client UnsubscribersClient unsubscribersClient = await UnsubscribersClient.CreateAsync(); // Initialize request argument(s) CreateUnsubscriberRequest request = new CreateUnsubscriberRequest { ParentAsProjectName = ProjectName.FromProject("[PROJECT]"), Unsubscriber = new Unsubscriber(), }; // Make the request Unsubscriber response = await unsubscribersClient.CreateUnsubscriberAsync(request); // End snippet }
public virtual void Unsubscribe() { Unsubscriber.Dispose(); }
private static WeakListenerInternal AddSourceEvent(object source, object state) { var array = (object[])state; var @this = (WeakListenerInternal)array[0]; var weakItem = (WeakEventListenerWrapper)array[1]; @this.Listeners = new[] { weakItem }; //Binding context if (@this._eventInfo == null) BindingServiceProvider.ContextManager.GetBindingContext(source).ValueChanged += (EventHandler<ISourceValue, EventArgs>)@this.Handler; else { #if PCL_WINRT var addMethod = @this._eventInfo.AddMethod; #else var addMethod = @this._eventInfo.GetAddMethod(true); #endif @this.RegToken = addMethod.InvokeEx(source, @this.Handler); } array[2] = new Unsubscriber(@this, weakItem); return @this; }
public virtual void Subscribe(Publisher publisher) { m_Cancellation = publisher.Subscribe(this); }
public void Dispose_WithCollectionMissingInstance_DoesNotThrow() { var unsubscriber = new Unsubscriber<object>(new object(), new Collection<object>()); Assert.DoesNotThrow(unsubscriber.Dispose); }
public void Subscribe(Observable <T> provider) { cancellation = provider.Subscribe(this); }
public virtual void Unsubscribe(IObserver <WeatherInfo> observer) { var unsubscriber = new Unsubscriber(Observers, observer); unsubscriber.Dispose(); }
private static WeakPropertyChangedListener AddSourceEvent(INotifyPropertyChanged source, object state) { var array = (object[])state; var @this = (WeakPropertyChangedListener)array[0]; var weakItem = (WeakEventListenerWrapper)array[1]; var path = (string)array[2]; @this._listeners = new[] { new KeyValuePair<WeakEventListenerWrapper, string>(weakItem, path) }; source.PropertyChanged += @this.Handle; array[3] = new Unsubscriber(@this, weakItem); return @this; }
public void Constructor_WithCollectionMissingInstance_ReturnsUnsubscriberInstance() { var unsubscriber = new Unsubscriber<object>(new object(), new Collection<object>()); Assert.IsNotNull(unsubscriber); }