private void WorkWithoutReentry(TestSession session)
 {
     using (_sentry = Guard.AgainstReEntry(_sentry))
     {
         session.DoWork();
     }
 }
        public void GuardAgainstReentry_ReturnsInstance()
        {
            GuardAgainstReentry sentry = null;

            sentry = Guard.AgainstReEntry(sentry);
            Assert.IsNotNull(sentry);
        }
 private void WorkWithReentry(TestSession session, int count)
 {
     using (_sentry = Guard.AgainstReEntry(_sentry))
     {
         session.DoWork();
         if (count == 0)
         {
             WorkWithReentry(session, count + 1);
         }
     }
 }
 private void WorkWithReentryExpected(TestSession session, int count)
 {
     using (_sentry = Guard.AgainstReEntryExpected(_sentry))
     {
         if (_sentry.HasEntered)
         {
             return;
         }
         session.DoWork();
         if (count == 0)
         {
             WorkWithReentryExpected(session, count + 1);
         }
     }
 }