Example #1
0
 public void DoMockWork_Simple(MockWorkIn work, CancellationToken token)
 {
     try
     {
         Task.Delay(workDurationMs, token).Wait();
         token.ThrowIfCancellationRequested();
     }
     catch
     {
         doneWork.Enqueue(new Tuple <bool, MockWorkIn>(true, work));
         throw;
     }
     doneWork.Enqueue(new Tuple <bool, MockWorkIn>(false, work));
 }
            public MockWorkOut DoMockWork_Simple(MockWorkIn work, CancellationToken token)
            {
                try
                {
                    Task.Delay(workDurationMs, token).Wait();
                    token.ThrowIfCancellationRequested();
                }
                catch
                {
                    doneWork.Enqueue(new Tuple <bool, MockWorkIn, MockWorkOut>(true, work, null));
                    throw;
                }
                var done = new MockWorkOut(work);

                doneWork.Enqueue(new Tuple <bool, MockWorkIn, MockWorkOut>(false, work, done));
                return(done);
            }
Example #3
0
 public void DoMockWorkBlocking(MockWorkIn work, CancellationToken token)
 {
     taskBlocker1.SetResult(null);
     try
     {
         taskBlocker3.Task.Wait();
         try
         {
             Task.Delay(workDurationMs, token).Wait();
             token.ThrowIfCancellationRequested();
         }
         catch
         {
             doneWork.Enqueue(new Tuple <bool, MockWorkIn>(true, work));
             throw;
         }
         doneWork.Enqueue(new Tuple <bool, MockWorkIn>(false, work));
     }
     finally
     {
         taskBlocker2.SetResult(null);
     }
 }
 public MockWorkOut(MockWorkIn originalInputItem)
 {
     this.originalInputItem = originalInputItem;
 }