public void ChannelListChange() { using (var container = new IntelChannelContainer()) { container.ChannelListUri = channelUri; container.ChannelUpdateInterval = new TimeSpan(0, 0, 1); // Fetch Channel List #1 TestHelpers.CreateRequestMock(channelUri, channelBody); container.Start(); Thread.Sleep(100); // Make sure all the appropriate channels are present var channels = container.Channels; Assert.IsNotNull(channels); CollectionAssert.AllItemsAreUnique(channels); Assert.AreEqual(2, channels.Count); var channel0a = channels[channelList[0]] as IntelChannel; Assert.IsNotNull(channel0a); var channel1a = channels[channelList[1]] as IntelChannel; Assert.IsNotNull(channel1a); // Fetch Channel List #2 int calls = 0; TestHelpers.CreateRequestMock(channelUri, channelList[1] + ",No Longer Used\r\nNewChannel,No Longer Used\r\n"); container.PropertyChanged += (sender, e) => { if (e.PropertyName == "Channels") { Interlocked.Increment(ref calls); } }; Thread.Sleep(1000); // Make sure the channels are present again Assert.IsTrue(calls > 0); Assert.IsTrue(container.IsRunning); channels = container.Channels; Assert.IsNotNull(channels); CollectionAssert.AllItemsAreUnique(channels); Assert.AreEqual(2, channels.Count); var channel0b = channels[channelList[0]] as IntelChannel; Assert.IsNull(channel0b); Assert.IsFalse(channel0a.IsRunning); Assert.AreEqual(IntelStatus.Disposed, channel0a.Status); var channel1b = channels[channelList[1]] as IntelChannel; Assert.IsNotNull(channel1b); Assert.AreEqual(channel1a, channel1b); Assert.IsTrue(channel1b.IsRunning); var channel2b = channels["NewChannel"] as IntelChannel; Assert.IsNotNull(channel2b); Assert.IsTrue(channel2b.IsRunning); } }
public void Dispose() { var container = new IntelChannelContainer(); container.Dispose(); Assert.AreEqual(IntelStatus.Disposed, container.Status); Assert.IsFalse(container.IsRunning); }
public void Constructor() { var container = new IntelChannelContainer(); Assert.AreEqual(IntelStatus.Stopped, container.Status); Assert.IsFalse(container.IsRunning); }