Ejemplo n.º 1
0
 public async Task AlreadySetSignalCompilerAwaitableWithoutExternalCaller()
 {
     var signal = new Signal();
     signal.Set();
     await signal;
     Assert.True(signal.IsCompleted);
     signal.Reset();
     Assert.False(signal.IsCompleted);
 }
Ejemplo n.º 2
0
 public void ResetClearsContinuation()
 {
     var signal = new Signal();
     bool wasInvoked = false;
     signal.OnCompleted(() =>
     {
         signal.GetResult();
         wasInvoked = true;
     });
     signal.Reset();
     signal.Set();
     Assert.False(wasInvoked);
 }
Ejemplo n.º 3
0
 public void CallingSetTwiceHasNoBacklog()
 {
     var signal = new Signal();
     signal.Set();
     signal.Set();
     Assert.True(signal.IsCompleted);
     signal.GetResult();
     Assert.True(signal.IsCompleted);
     signal.Reset();
     Assert.False(signal.IsCompleted); // only set "once"
 }