Пример #1
0
    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);
        }
    }
Пример #2
0
    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);
        }
    }
Пример #3
0
    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);
        }
    }