public void ShouldIncreaseStubFiberSubscriberCountByOne() { var fiber = new StubFiber(); fiber.Start(); var channel = new Channel <int>(); Assert.AreEqual(0, fiber.NumSubscriptions); Assert.AreEqual(0, channel.NumSubscribers); channel.Subscribe(fiber, x => { }); Assert.AreEqual(1, fiber.NumSubscriptions); Assert.AreEqual(1, channel.NumSubscribers); fiber.Dispose(); Assert.AreEqual(0, fiber.NumSubscriptions); Assert.AreEqual(0, channel.NumSubscribers); }
public void DisposeShouldClearAllLists() { var sut = new StubFiber(); var channel = new Channel <int>(); channel.Subscribe(sut, x => { }); sut.Schedule(() => { }, 1000); channel.Publish(2); Assert.AreEqual(1, sut.Subscriptions.Count); Assert.AreEqual(1, sut.Scheduled.Count); Assert.AreEqual(1, sut.Pending.Count); sut.Dispose(); Assert.AreEqual(0, sut.Subscriptions.Count); Assert.AreEqual(0, sut.Scheduled.Count); Assert.AreEqual(0, sut.Pending.Count); }