Пример #1
0
        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);
        }
Пример #2
0
        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);
        }