Ejemplo n.º 1
0
 public void MultipleDeferralsWithOneIncomplete_PreventsCompletion()
 {
     Test.Async(async () =>
     {
         var dm = new DeferralManager();
         var deferral1 = dm.GetDeferral();
         var deferral2 = dm.GetDeferral();
         var task = dm.SignalAndWaitAsync();
         deferral1.Dispose();
         await AssertEx.NeverCompletesAsync(task);
     });
 }
Ejemplo n.º 2
0
 public void MultipleDeferralsWithAllCompleted_Completes()
 {
     AsyncContext.Run(async () =>
     {
         var dm = new DeferralManager();
         var deferral1 = dm.GetDeferral();
         var deferral2 = dm.GetDeferral();
         var task = dm.SignalAndWaitAsync();
         deferral1.Dispose();
         deferral2.Dispose();
         await task;
     });
 }
Ejemplo n.º 3
0
 public void TwoDeferralsWithOneCompletedTwice_PreventsCompletion()
 {
     AsyncContext.Run(async () =>
     {
         var dm = new DeferralManager();
         var deferral1 = dm.GetDeferral();
         var deferral2 = dm.GetDeferral();
         var task = dm.SignalAndWaitAsync();
         deferral1.Dispose();
         deferral1.Dispose();
         await AssertEx.NeverCompletesAsync(task);
     });
 }
Ejemplo n.º 4
0
 public void IncompleteDeferral_PreventsCompletion()
 {
     Test.Async(async () =>
     {
         var dm = new DeferralManager();
         var deferral = dm.GetDeferral();
         await AssertEx.NeverCompletesAsync(dm.SignalAndWaitAsync());
     });
 }
Ejemplo n.º 5
0
 public void DeferralCompleted_Completes()
 {
     Test.Async(async () =>
     {
         var dm = new DeferralManager();
         var deferral = dm.GetDeferral();
         var task = dm.SignalAndWaitAsync();
         Assert.IsFalse(task.IsCompleted);
         deferral.Dispose();
         await task;
     });
 }