public async Task TestUnsubscribeAsync() { var subscribe = new MbedCloudSDK.Connect.Api.Subscribe.Subscribe(); var items = new List <DeviceEventData>(); var observer1 = await subscribe.DeviceEventsAsync(); observer1.OnNotify += res => items.Add(res); var observer2 = await subscribe.DeviceEventsAsync(); observer2.OnNotify += res => items.Add(res); var observer3 = await subscribe.DeviceEventsAsync(); observer3.OnNotify += res => items.Add(res); MockNotification(subscribe); MockNotification(subscribe); Assert.AreEqual(subscribe.DeviceEventObservers.Count, 3); Assert.AreEqual(items.Count, 216); items.Clear(); observer1.Unsubscribe(); MockNotification(subscribe); MockNotification(subscribe); Assert.AreEqual(subscribe.DeviceEventObservers.Count, 2); Assert.AreEqual(items.Count, 144); }
public async Task TestAllEventsAsync() { var subscribe = new MbedCloudSDK.Connect.Api.Subscribe.Subscribe(); var items = new List <DeviceEventData>(); var observer = await subscribe.DeviceEventsAsync(); observer.OnNotify += res => items.Add(res); MockNotification(subscribe); MockNotification(subscribe); Assert.AreEqual(72, items.Count); }
public async Task TestMultipleSpecificAsync() { var subscribe = new MbedCloudSDK.Connect.Api.Subscribe.Subscribe(); var items = new List <DeviceEventData>(); var observer = (await subscribe.DeviceEventsAsync()).Filter(f => (f.Id == "1" || f.Id == "2") && (f.Event == DeviceEvent.Registration || f.Event == DeviceEvent.DeRegistration)); observer.OnNotify += res => items.Add(res); MockNotification(subscribe); MockNotification(subscribe); Assert.AreEqual(16, items.Count); }
public async Task TestOneStateAsync() { var subscribe = new MbedCloudSDK.Connect.Api.Subscribe.Subscribe(); var items = new List <DeviceEventData>(); var observer = (await subscribe.DeviceEventsAsync()).Filter(f => f.Event == DeviceEvent.Registration); observer.OnNotify += res => items.Add(res); MockNotification(subscribe); MockNotification(subscribe); Assert.AreEqual(18, items.Count); Assert.AreEqual(18, items.Where(d => d.State == DeviceEvent.Registration).ToList().Count); }
public async Task TestMultipleDeviceIdAsync() { var subscribe = new MbedCloudSDK.Connect.Api.Subscribe.Subscribe(); var items = new List <DeviceEventData>(); var observer = (await subscribe.DeviceEventsAsync()).Filter(f => f.Id == "1" || f.Id == "2"); observer.OnNotify += res => items.Add(res); MockNotification(subscribe); MockNotification(subscribe); Assert.AreEqual(32, items.Count); Assert.AreEqual(32, items.Where(d => d.DeviceId == "1" || d.DeviceId == "2").ToList().Count); }