public void SyncTextWriterLockedOnThis() { TextWriter oldWriter = Console.Out; try { var newWriter = new CallbackTextWriter(); Console.SetOut(newWriter); TextWriter syncWriter = Console.Out; newWriter.Callback = () => { Assert.True(Monitor.IsEntered(syncWriter)); }; Console.Write("c"); Assert.True(newWriter.WriteCharCalled); Console.Write("{0}", 32); Assert.True(newWriter.WriteFormatCalled); } finally { Console.SetOut(oldWriter); } }
public void SyncTextWriterLockedOnThis() { TextWriter oldWriter = Console.Out; try { var newWriter = new CallbackTextWriter(); Console.SetOut(newWriter); TextWriter syncWriter = Console.Out; bool called = false; newWriter.Callback = _ => { Assert.True(Monitor.IsEntered(syncWriter)); called = true; }; Console.Write("c"); Assert.True(called); } finally { Console.SetOut(oldWriter); } }