Ejemplo n.º 1
0
 public void Dispose()
 {
     if (IsValueCreated)
     {
         VerifyDisposed();
         Value.TryDispose();
     }
     _disposableTracker.Dispose();
 }
Ejemplo n.º 2
0
        public void AddAfterTrackerDisposedDisposesObjectImmediately()
        {
            var tracker    = new DisposableTracker();
            var disposable = new Disposable();

            tracker.Dispose();
            tracker.Track(disposable);

            Assert.IsTrue(
                disposable.IsDisposed,
                "the disposable should be disposed immediately when added to a disposed tracker");
        }
 public void Dispose()
 {
     lock (_handlers)
     {
         VerifyDisposed();
         foreach (GatewayStream stream in _streams)
         {
             stream.Dispose();
         }
         for (short i = 0; i < DataHandlersMaxCount; i++)
         {
             _handlers[i] = null;
         }
         _streams.Clear();
         _disposableTracker.Dispose();
     }
 }
Ejemplo n.º 4
0
 public void Dispose()
 {
     lock (_handlers)
     {
         VerifyDisposed();
         foreach (INativeDataHandler handler in _handlers.Values)
         {
             //We should dispose routers created by us because they contain unmanaged memory that should be removed
             NativeDataHandlerRouter router = handler as NativeDataHandlerRouter;
             if (router != null)
             {
                 router.Dispose();
             }
         }
         _agentLibrary.GatewayServerDestroy(_token);
         _disposableTracker.Dispose();
     }
 }
Ejemplo n.º 5
0
        public void DisposingTrackerDisposesTrackedObjects()
        {
            var tracker = new DisposableTracker();

            var disposableA = new Disposable();
            var disposableB = new Disposable();

            tracker.Track(disposableA);
            tracker.Track(disposableB);

            Assert.IsFalse(disposableA.IsDisposed);
            Assert.IsFalse(disposableB.IsDisposed);

            tracker.Dispose();

            Assert.IsTrue(disposableA.IsDisposed, "the tracker should dispose all tracked objects (A) when disposed");
            Assert.IsTrue(disposableB.IsDisposed, "the tracker should dispose all tracked objects (B) when disposed");
        }
Ejemplo n.º 6
0
        public void DisposeRemovesAllDisposables()
        {
            // Arrange
            var builder = new DelegatingSpecimenBuilder {
                OnCreate = (r, c) => new DisposableSpy()
            };
            var sut = new DisposableTracker(builder);

            var dummyRequest = new object();
            var dummyContext = new DelegatingSpecimenContext();

            sut.Create(dummyRequest, dummyContext);
            sut.Create(dummyRequest, dummyContext);
            sut.Create(dummyRequest, dummyContext);
            // Act
            sut.Dispose();
            // Assert
            Assert.Empty(sut.Disposables);
        }
Ejemplo n.º 7
0
        public void DisposeRemovesAllDisposables()
        {
            // Fixture setup
            var builder = new DelegatingSpecimenBuilder {
                OnCreate = (r, c) => new DisposableSpy()
            };
            var sut = new DisposableTracker(builder);

            var dummyRequest = new object();
            var dummyContext = new DelegatingSpecimenContext();

            sut.Create(dummyRequest, dummyContext);
            sut.Create(dummyRequest, dummyContext);
            sut.Create(dummyRequest, dummyContext);
            // Exercise system
            sut.Dispose();
            // Verify outcome
            Assert.Empty(sut.Disposables);
            // Teardown
        }
Ejemplo n.º 8
0
        public void DisposeDisposesAllDisposables()
        {
            // Arrange
            var disposables = Enumerable.Repeat <Func <DisposableSpy> >(() => new DisposableSpy(), 3).Select(f => f()).ToList();
            var q           = new Queue <DisposableSpy>(disposables);
            var builder     = new DelegatingSpecimenBuilder {
                OnCreate = (r, c) => q.Dequeue()
            };

            var sut = new DisposableTracker(builder);

            var dummyRequest = new object();
            var dummyContext = new DelegatingSpecimenContext();

            disposables.ForEach(d => sut.Create(dummyRequest, dummyContext));
            // Act
            sut.Dispose();
            // Assert
            Assert.True(sut.Disposables.Cast <DisposableSpy>().All(ds => ds.Disposed));
        }
Ejemplo n.º 9
0
 public void Dispose() => tracker.Dispose();
Ejemplo n.º 10
0
 public void Dispose()
 {
     clearLayout();
     dt.Dispose();
 }
Ejemplo n.º 11
0
 public virtual void Dispose()
 {
     _disposableTracker.Dispose();
 }
Ejemplo n.º 12
0
 public void destroy()
 {
     dt.Dispose();
     java.Call("destroy");
 }
Ejemplo n.º 13
0
 public void Dispose()
 {
     tracker.Dispose();
 }
Ejemplo n.º 14
0
 public void OnDisable()
 {
     dt.Dispose();
 }
Ejemplo n.º 15
0
 public virtual void Dispose()
 {
     VerifyDisposed();
     UninitializeSponsorship(RemoteObject, _sponsorshipCookie);
     _disposableTracker.Dispose();
 }