System.Threading.Tests.MonitorTests.IsEntered_WhenHeldBySomeoneElse_ThrowsSynchronizationLockException C# (CSharp) Method

IsEntered_WhenHeldBySomeoneElse_ThrowsSynchronizationLockException() private method

        public static void IsEntered_WhenHeldBySomeoneElse_ThrowsSynchronizationLockException()
        {
            var obj = new object();
            var b = new Barrier(2);

            Task t = Task.Run(() =>
            {
                lock (obj)
                {
                    b.SignalAndWait();
                    Assert.True(Monitor.IsEntered(obj));
                    b.SignalAndWait();
                }
            });

            b.SignalAndWait();
            Assert.False(Monitor.IsEntered(obj));
            b.SignalAndWait();

            t.Wait();
        }