Ejemplo n.º 1
0
        public async Task TimedOut()
        {
            var a = new AsyncManualResetEventEx();

            var  sw      = Stopwatch.StartNew();
            bool success = await a.WaitAsync(1000);

            sw.Stop();
            Assert.InRange(sw.ElapsedMilliseconds, 1000, 10_000);
            Assert.False(success);
        }
Ejemplo n.º 2
0
        public async Task Release()
        {
            var a = new AsyncManualResetEventEx();

            _ = Task.Delay(2000).ContinueWith(_ => a.Set());

            var sw = Stopwatch.StartNew();
            await a.WaitAsync();

            sw.Stop();
            Assert.InRange(sw.ElapsedMilliseconds, 2000, 10_000);
        }
Ejemplo n.º 3
0
        public async Task NotTimedOut()
        {
            var a = new AsyncManualResetEventEx();

            _ = Task.Delay(500).ContinueWith(_ => a.Set());

            var  sw      = Stopwatch.StartNew();
            bool success = await a.WaitAsync(1000);

            sw.Stop();
            Assert.InRange(sw.ElapsedMilliseconds, 500, 2000);
            Assert.True(success);
        }
Ejemplo n.º 4
0
        public async Task DelayedCancelTimedOut()
        {
            var a = new AsyncManualResetEventEx();

            using var cts = new CancellationTokenSource(1000);

            var  sw      = Stopwatch.StartNew();
            bool success = await a.WaitAsync(500, cts.Token);

            sw.Stop();
            Assert.InRange(sw.ElapsedMilliseconds, 500, 2000);
            Assert.False(success);
        }
Ejemplo n.º 5
0
        public async Task DelayedCancelWithTimeout()
        {
            var a = new AsyncManualResetEventEx();

            using var cts = new CancellationTokenSource(1000);

            var sw = Stopwatch.StartNew();

            try
            {
                await a.WaitAsync(10_000, cts.Token);
            }
            catch (OperationCanceledException)
            {
                sw.Stop();
                Assert.InRange(sw.ElapsedMilliseconds, 1000, 10_000);
                return;
            }
            Assert.True(false);
        }
Ejemplo n.º 6
0
 public DebugView(AsyncManualResetEventEx mre)
 {
     _mre = mre;
 }