Exemplo n.º 1
0
        public void Call_the_fault_action_if_supplied()
        {
            var faultCalled = false;
             Action operation = () => { throw new Exception("fun!"); };
             Action<Exception> fault = (e) => faultCalled = true;
             Action completed = () => { var one = 1; };

             var item = new WorkItem(new List<Action> {operation}, fault, completed);
             item.ProcessOperations();
             item.Complete();
             Assert.That(faultCalled, Is.True);
        }
Exemplo n.º 2
0
        public void Ignore_subsequent_attempts_to_process()
        {
            var processedCount = 0;
             Action operation = () => { processedCount += 1; };
             Action completed = () => { var one = 1; };

             var item = new WorkItem(new List<Action> { operation }, null, completed);
             item.ProcessOperations();
             item.ProcessOperations();

             Assert.That(processedCount, Is.EqualTo(1));
        }
Exemplo n.º 3
0
        public void Do_not_call_the_completed_action()
        {
            var processed = false;
             Action operation = () => { var one = 1; };
             Action completed = () => { processed = true; };

             var item = new WorkItem(new List<Action> { operation }, null, completed);

             // user forgot to call this: item.ProcessOperations();
             item.Complete();

             Assert.That(processed, Is.False);
        }
Exemplo n.º 4
0
        public void Rethrow_the_exception_if_there_is_no_fault_action()
        {
            Action operation = () => { throw new Exception("fun!"); };
             Action completed = () => { var one = 1; };

             try
             {
            var item = new WorkItem(new List<Action> {operation}, null, completed);
            item.ProcessOperations();
            item.Complete();
             }
             catch (Exception ex)
             {
            Assert.That(ex.Message, Is.EqualTo("fun!"));
            return;
             }

             Assert.Fail();
        }
Exemplo n.º 5
0
 public void Enqueue(WorkItem item)
 {
     lock (_queueLock)
     _queue.Enqueue(item);
      StartOrContinueProcessing();
 }
Exemplo n.º 6
0
        public void Call_the_completed_action()
        {
            var processed = false;
             Action operation = () => { var one = 1; };
             Action completed = () => { processed = true; };

             var item = new WorkItem(new List<Action> { operation }, null, completed);
             item.ProcessOperations();
             item.Complete();
             Assert.That(processed, Is.True);
        }