public void TestAddRetrieve()
 {
     ExternallyControlledLifetimeManager manager = new ExternallyControlledLifetimeManager();
       Mock<IDisposable> disposable = new Mock<IDisposable>();
       manager.AddInstance(disposable.Object);
       Assert.AreEqual(disposable.Object, manager.GetInstance());
 }
 public void TestRemoveInstance()
 {
     ExternallyControlledLifetimeManager manager = new ExternallyControlledLifetimeManager();
       Mock<IDisposable> disposable = new Mock<IDisposable>();
       manager.AddInstance(disposable.Object);
       manager.RemoveInstance();
       disposable.Verify(p => p.Dispose(), Times.Never());
       disposable.Object.Dispose();
       Assert.AreEqual(disposable.Object, manager.GetInstance());
 }