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); }
public void ShouldIncreaseStubFiberSubscriberCountByOne() { var fiber = new StubFiber(); fiber.Start(); var channel = new Channel<int>(); Assert.AreEqual(0, fiber.SubscriptionsCount); Assert.AreEqual(0, channel.SubscribersCount); channel.Subscribe(fiber, x => { }); Assert.AreEqual(1, fiber.SubscriptionsCount); Assert.AreEqual(1, channel.SubscribersCount); fiber.Dispose(); Assert.AreEqual(0, fiber.SubscriptionsCount); Assert.AreEqual(0, channel.SubscribersCount); }