Ejemplo n.º 1
0
        public void DequeueAll_WithSingleThread_AndNoDequeuedAssemblyContexts_ReturnsAllRegisteredAssemblyContexts()
        {
            var expectedAssemblyContexts = new[] { CreateAssemblyContext(), CreateAssemblyContext() };
            var assemblyContextPool      = new AssemblyContextPool(expectedAssemblyContexts);

            Assert.That(assemblyContextPool.DequeueAll(), Is.EquivalentTo(expectedAssemblyContexts));
        }
Ejemplo n.º 2
0
        public void Dequeue_WithSingleThread_AndTwoRegisteredAssemblyContexts_CanDequeueTwice()
        {
            var expectedAssemblyContext1 = CreateAssemblyContext();
            var expectedAssemblyContext2 = CreateAssemblyContext();
            var assemblyContextPool      = new AssemblyContextPool(new[] { expectedAssemblyContext1, expectedAssemblyContext2 });

            Assert.That(assemblyContextPool.Dequeue(), Is.EqualTo(expectedAssemblyContext2));
            Assert.That(assemblyContextPool.Dequeue(), Is.EqualTo(expectedAssemblyContext1));
        }
Ejemplo n.º 3
0
        public void Enqueue_WithSingleThread_WithAssemblyContextAlreadyEnqueued_ThrowsInvalidOperationException()
        {
            var expectedAssemblyContexts = new[] { CreateAssemblyContext(), CreateAssemblyContext() };
            var assemblyContextPool      = new AssemblyContextPool(expectedAssemblyContexts);

            Assert.That(
                () => assemblyContextPool.Enqueue(expectedAssemblyContexts[0]),
                Throws.InvalidOperationException.With.Message.EqualTo("The provided AssemblyContext is already enqueued in this AssemblyContextPool."));
        }