public void CreateDisposeDispose_HandleIsClosedAndSecondDisposeIsNoop()
        {
            var safeHandle = new FakeSafeWinHttpHandle(true);

            safeHandle.Dispose();
            safeHandle.Dispose();
            Assert.True(safeHandle.IsClosed, "closed");
        }
 public void CreateAddRefDisposeDispose_HandleIsNotClosed()
 {
     var safeHandle = new FakeSafeWinHttpHandle(true);
     bool success = false;
     safeHandle.DangerousAddRef(ref success);
     Assert.True(success, "DangerousAddRef");
     safeHandle.Dispose();
     safeHandle.Dispose();
     
     Assert.False(safeHandle.IsClosed, "closed");
     Assert.Equal(1, FakeSafeWinHttpHandle.HandlesOpen);
     
     // Clean up safeHandle to keep outstanding handles at zero.
     safeHandle.DangerousRelease();
 }
Beispiel #3
0
        public void CreateAddRefDisposeDispose_HandleIsNotClosed()
        {
            var  safeHandle = new FakeSafeWinHttpHandle(true);
            bool success    = false;

            safeHandle.DangerousAddRef(ref success);
            Assert.True(success, "DangerousAddRef");
            safeHandle.Dispose();
            safeHandle.Dispose();

            Assert.False(safeHandle.IsClosed, "closed");

            // Clean up safeHandle to keep outstanding handles at zero.
            safeHandle.DangerousRelease();
        }
        public void CreateDisposeRelease_ThrowsObjectDisposedException()
        {
            var safeHandle = new FakeSafeWinHttpHandle(true);

            safeHandle.Dispose();
            Assert.Throws <ObjectDisposedException>(() => safeHandle.DangerousRelease());
        }
        public void CreateDisposeAddRef_ThrowsObjectDisposedException()
        {
            var safeHandle = new FakeSafeWinHttpHandle(true);

            safeHandle.Dispose();
            Assert.Throws <ObjectDisposedException>(() =>
                                                    { bool ignore = false; safeHandle.DangerousAddRef(ref ignore); });
        }
 public void CreateAddRefDisposeRelease_HandleIsClosed()
 {
     var safeHandle = new FakeSafeWinHttpHandle(true);
     bool success = false;
     safeHandle.DangerousAddRef(ref success);
     Assert.True(success, "DangerousAddRef");
     safeHandle.Dispose();
     safeHandle.DangerousRelease();
     
     Assert.True(safeHandle.IsClosed, "closed");
     Assert.Equal(0, FakeSafeWinHttpHandle.HandlesOpen);
 }
        public void SetParentHandle_CreateParentCreateChildDisposeChildDisposeParent_HandlesClosed()
        {
            var parentHandle = new FakeSafeWinHttpHandle(true);
            var childHandle  = new FakeSafeWinHttpHandle(true);

            childHandle.SetParentHandle(parentHandle);
            childHandle.Dispose();
            parentHandle.Dispose();

            Assert.True(parentHandle.IsClosed, "closed");
            Assert.True(childHandle.IsClosed, "closed");
        }
Beispiel #8
0
        public void CreateAddRefReleaseDispose_HandleIsClosed()
        {
            var  safeHandle = new FakeSafeWinHttpHandle(true);
            bool success    = false;

            safeHandle.DangerousAddRef(ref success);
            Assert.True(success, "DangerousAddRef");
            safeHandle.DangerousRelease();
            safeHandle.Dispose();

            Assert.True(safeHandle.IsClosed, "closed");
        }
Beispiel #9
0
        public void SetParentHandle_CreateParentCreateChildDisposeParent_ParentNotClosed()
        {
            var parentHandle = new FakeSafeWinHttpHandle(true);
            var childHandle  = new FakeSafeWinHttpHandle(true);

            childHandle.SetParentHandle(parentHandle);
            parentHandle.Dispose();

            Assert.False(parentHandle.IsClosed, "closed");

            // Clean up safeHandles to keep outstanding handles at zero.
            childHandle.Dispose();
        }
 public void SetParentHandle_CreateParentCreateChildDisposeChildDisposeParent_HandlesClosed()
 {
     var parentHandle = new FakeSafeWinHttpHandle(true);
     var childHandle = new FakeSafeWinHttpHandle(true);
     childHandle.SetParentHandle(parentHandle);
     childHandle.Dispose();
     parentHandle.Dispose();
     
     Assert.True(parentHandle.IsClosed, "closed");
     Assert.True(childHandle.IsClosed, "closed");
 }
 public void SetParentHandle_CreateParentCreateChildDisposeParent_ParentNotClosed()
 {
     var parentHandle = new FakeSafeWinHttpHandle(true);
     var childHandle = new FakeSafeWinHttpHandle(true);
     childHandle.SetParentHandle(parentHandle);
     parentHandle.Dispose();
     
     Assert.False(parentHandle.IsClosed, "closed");
     Assert.Equal(2, FakeSafeWinHttpHandle.HandlesOpen);
     
     // Clean up safeHandles to keep outstanding handles at zero.
     childHandle.Dispose();
 }
 public void CreateDisposeRelease_ThrowsObjectDisposedException()
 {
     var safeHandle = new FakeSafeWinHttpHandle(true);
     safeHandle.Dispose();
     Assert.Throws<ObjectDisposedException>(() => safeHandle.DangerousRelease());
 }
 public void CreateDisposeAddRef_ThrowsObjectDisposedException()
 {
     var safeHandle = new FakeSafeWinHttpHandle(true);
     safeHandle.Dispose();
     Assert.Throws<ObjectDisposedException>(() => 
         { bool ignore = false; safeHandle.DangerousAddRef(ref ignore); });
 }
 public void CreateDisposeDispose_HandleIsClosedAndSecondDisposeIsNoop()
 {
     var safeHandle = new FakeSafeWinHttpHandle(true);
     safeHandle.Dispose();
     safeHandle.Dispose();
     Assert.True(safeHandle.IsClosed, "closed");
 }