public void DequeueTest_DequeueItemFromStoppedQueueIsNull() { //arrange var producer = new ProducerConsumer <Block>(); //act producer.Stop(); var resultItemFromDequeue = producer.Dequeue(); //assert Assert.IsNull(resultItemFromDequeue); }
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); }
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(); } }