Esempio n. 1
0
        public void Fault_RaisedOnIdleTimeout()
        {
            var connection = new Mock <IConnection>();

            using (var faultedEvent = new ManualResetEventSlim(initialState: false))
                using (var plugin = new Plugin(
                           filePath: @"C:\a\b\c.d",
                           connection: connection.Object,
                           process: Mock.Of <IPluginProcess>(),
                           isOwnProcess: false,
                           idleTimeout: Timeout.InfiniteTimeSpan))
                {
                    FaultedPluginEventArgs args = null;

                    plugin.Faulted += (object sender, FaultedPluginEventArgs e) =>
                    {
                        args = e;

                        faultedEvent.Set();
                    };

                    var protocolErrorArgs = new ProtocolErrorEventArgs(new ProtocolException("test"));

                    connection.Raise(x => x.Faulted += null, protocolErrorArgs);

                    faultedEvent.Wait();

                    Assert.NotNull(args);
                    Assert.Same(plugin, args.Plugin);
                    Assert.Same(protocolErrorArgs.Exception, args.Exception);
                }
        }
        public void Constructor_InitializesProperties()
        {
            var plugin    = Mock.Of <IPlugin>();
            var exception = new Exception();
            var args      = new FaultedPluginEventArgs(plugin, exception);

            Assert.Same(plugin, args.Plugin);
            Assert.Same(exception, args.Exception);
        }