예제 #1
0
        public async Task Lock_DefaultGrantedAfterUpdateDowngrade()
        {
            Lock <int>    l = new Lock <int>();
            AcquireResult result;

            result = await l.Acquire(1, LockMode.Update);

            Assert.AreEqual(AcquireResult.Acquired, result);

            var task = l.Acquire(2, LockMode.Default);

            l.Downgrade(1);
            result = await task;
            Assert.AreEqual(AcquireResult.Acquired, result);
        }