public void GlobalSetup()
        {
#if !NO_REMOTING
            _remotingServer = new RemotingServer();
            _remotingClient = new RemotingClient();

            _remotingServer.RegisterActivatedService(typeof(Disposable));
            _remotingServer.RegisterActivatedService(typeof(Monk));

            _disposableTransparentProxy = new InstanceReference {
                Instance = _remotingClient.GetService <Disposable>()
            };
            _nonDisposableTransparentProxy = new InstanceReference {
                Instance = _remotingClient.GetService <Monk>()
            };
#endif // !NO_REMOTING

            _disposable = new InstanceReference {
                Instance = new Disposable()
            };
            _nonDisposable = new InstanceReference {
                Instance = new Monk()
            };

            _context  = new Mock <IContext>(MockBehavior.Strict).Object;
            _strategy = new DisposableStrategy();
        }
Beispiel #2
0
        public void GlobalSetup()
        {
#if !NO_REMOTING
            _remotingServer = new RemotingServer();
            _remotingClient = new RemotingClient();

            _remotingServer.RegisterActivatedService(typeof(Disposable));
            _remotingServer.RegisterActivatedService(typeof(Monk));

            _disposableTransparentProxy = new InstanceReference {
                Instance = _remotingClient.GetService <Disposable>()
            };
            _nonDisposableTransparentProxy = new InstanceReference {
                Instance = _remotingClient.GetService <Monk>()
            };
#endif // !NO_REMOTING

            _disposable = new InstanceReference {
                Instance = new Disposable()
            };
            _nonDisposable = new InstanceReference {
                Instance = new Monk()
            };
        }
Beispiel #3
0
        public void Activate_TransparentProxy_NotStartable()
        {
            using (var server = new RemotingServer())
                using (var client = new RemotingClient())
                {
                    server.RegisterActivatedService(typeof(Monk));

                    var notStartable = client.GetService <Monk>();
                    var reference    = new InstanceReference {
                        Instance = notStartable
                    };

                    _strategy.Activate(_contextMock.Object, reference);

                    Assert.Same(notStartable, reference.Instance);
                }
        }
        public void Activate_TransparentProxy_Disposable()
        {
            using (var server = new RemotingServer())
                using (var client = new RemotingClient())
                {
                    server.RegisterActivatedService(typeof(Disposable));

                    var initializable = client.GetService <Disposable>();
                    var reference     = new InstanceReference {
                        Instance = initializable
                    };

                    _strategy.Activate(_contextMock.Object, reference);

                    Assert.Equal(0, initializable.DisposeCount);
                    Assert.Same(initializable, reference.Instance);
                }
        }
Beispiel #5
0
        public void IsInstanceOf_TransparentProxy_IsNotAnInstanceOf()
        {
            using (var server = new RemotingServer())
                using (var client = new RemotingClient())
                {
                    server.RegisterActivatedService(typeof(Disposable));

                    var instance  = client.GetService <Disposable>();
                    var reference = new InstanceReference {
                        Instance = instance
                    };

                    Assert.False(reference.IsInstanceOf <ICleric>(out var cleric));
                    Assert.Null(cleric);

                    Assert.False(reference.IsInstanceOf <Monk>(out var monk));
                    Assert.Null(monk);
                }
        }
Beispiel #6
0
        public void Activate_TransparentProxy_Startable()
        {
            using (var server = new RemotingServer())
                using (var client = new RemotingClient())
                {
                    server.RegisterActivatedService(typeof(Startable));

                    var startable = client.GetService <Startable>();
                    var reference = new InstanceReference {
                        Instance = startable
                    };

                    _strategy.Activate(_contextMock.Object, reference);

                    Assert.Equal(1, startable.StartCount);
                    Assert.Equal(0, startable.StopCount);
                    Assert.Same(startable, reference.Instance);
                }
        }
Beispiel #7
0
        public void IsInstanceOf_TransparentProxy_IsAnInstanceOf()
        {
            using (var server = new RemotingServer())
                using (var client = new RemotingClient())
                {
                    server.RegisterActivatedService(typeof(Monk));

                    var instance  = client.GetService <Monk>();
                    var reference = new InstanceReference {
                        Instance = instance
                    };

                    Assert.True(reference.IsInstanceOf <ICleric>(out var cleric));
                    Assert.Same(instance, cleric);

                    Assert.True(reference.IsInstanceOf <Monk>(out var monk));
                    Assert.Same(instance, monk);

                    Assert.True(reference.IsInstanceOf <Monk>(out var obj));
                    Assert.Same(instance, obj);
                }
        }