public async Task AlreadySetSignalCompilerAwaitableWithoutExternalCaller() { var signal = new Signal(); signal.Set(); await signal; Assert.True(signal.IsCompleted); signal.Reset(); Assert.False(signal.IsCompleted); }
public void ResetClearsContinuation() { var signal = new Signal(); bool wasInvoked = false; signal.OnCompleted(() => { signal.GetResult(); wasInvoked = true; }); signal.Reset(); signal.Set(); Assert.False(wasInvoked); }
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" }