Exemplo n.º 1
0
        public void DequeueTest_DequeueItemFromStoppedQueueIsNull()
        {
            //arrange
            var producer = new ProducerConsumer <Block>();

            //act
            producer.Stop();
            var resultItemFromDequeue = producer.Dequeue();

            //assert
            Assert.IsNull(resultItemFromDequeue);
        }
Exemplo n.º 2
0
        public void DequeueTest_DequeueItemFromNotEmptyQueue()
        {
            //arrange
            var producer = new ProducerConsumer <Block>();
            var block    = new Block(0, null);

            //act
            producer.Enqueue(block);
            var resultItemFromDequeue = producer.Dequeue();

            //assert
            Assert.IsNotNull(resultItemFromDequeue);
        }
Exemplo n.º 3
0
 private void ProcessDataTask()
 {
     try
     {
         while (!interrupted)
         {
             var taskInfo = tasks.Dequeue();
             if (taskInfo == null)
             {
                 return;
             }
             var result = processData(taskInfo.Item2);
             results.Enqueue(taskInfo.Item1, result);
         }
     } catch (HandledException e)
     {
         this.Interrupt();
     } catch (Exception e)
     {
         Console.WriteLine($"Unhandled exception: {e.Message}");
         this.Interrupt();
     }
 }