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(); }
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() }; }
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); } }
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); } }
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); } }
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); } }