Example #1
0
 public void TestDebugCaptureStack()
 {
     using (DebugLocking lck = new DebugLocking <IgnoreLocking>())
         Assert.IsFalse(lck.CaptureStack);
     using (DebugLocking lck = new DebugLocking <IgnoreLocking>(true, 0, 0, false, 0))
         Assert.IsTrue(lck.CaptureStack);
 }
Example #2
0
        public void TestWriterCounts()
        {
            using (DebugLocking <SimpleReadWriteLocking> l = new DebugLocking <SimpleReadWriteLocking>(
                       false, 0, 1, false, 1))
            {
                Assert.IsFalse(l.CaptureStack);

                Assert.AreEqual(0, l.CurrentWriterCount);
                Assert.AreEqual(0, l.LocalWriterCount);
                Assert.AreEqual(0, l.MaxWriterCount);

                using (l.Write())
                {
                    Assert.AreEqual(1, l.CurrentWriterCount);
                    Assert.AreEqual(1, l.LocalWriterCount);
                    using (l.Write(0))
                    {
                        Assert.AreEqual(2, l.CurrentWriterCount);
                        Assert.AreEqual(2, l.LocalWriterCount);
                    }
                }

                Assert.AreEqual(0, l.CurrentWriterCount);
                Assert.AreEqual(0, l.LocalWriterCount);
                Assert.AreEqual(2, l.MaxWriterCount);
            }
        }