Ejemplo n.º 1
0
        public void PrivateAbstractClassReverseProxyTest()
        {
            var resetEvent = new ManualResetEventSlim();

            var eventInstance = new LogEventPropertyValueImpl(resetEvent);

            var type   = typeof(Datadog.Trace.Vendors.Serilog.Events.LogEventPropertyValue);
            var proxy2 = eventInstance.DuckImplement(type);

            eventInstance.SetBaseInstance(proxy2);

            ((Datadog.Trace.Vendors.Serilog.Events.LogEventPropertyValue)proxy2).ToString("Hello world", null);

            Assert.True(resetEvent.Wait(5_000));
        }
        public void PrivateAbstractClassReverseProxyTest()
        {
            var resetEvent = new ManualResetEventSlim();

            var eventInstance = new LogEventPropertyValueImpl(resetEvent);

            var type = typeof(Datadog.Trace.Vendors.Serilog.Events.LogEventPropertyValue);

#if NET452
            Assert.Throws <DuckTypeTypeIsNotPublicException>(() =>
            {
                eventInstance.DuckCast(type);
            });
#else
            var proxy2 = eventInstance.DuckCast(type);
            eventInstance.SetBaseInstance(proxy2);

            ((Datadog.Trace.Vendors.Serilog.Events.LogEventPropertyValue)proxy2).ToString("Hello world", null);

            Assert.True(resetEvent.Wait(5_000));
#endif
        }