Beispiel #1
0
 public void ByRefSameValue_UsesSameHandleInstance()
 {
     using NativeExportsNE.NativeExportsSafeHandle handleToDispose = NativeExportsNE.AllocateHandle();
     NativeExportsNE.NativeExportsSafeHandle handle = handleToDispose;
     NativeExportsNE.ModifyHandle(ref handle, newHandle: false);
     Assert.Same(handleToDispose, handle);
 }
Beispiel #2
0
        public void ReturnValue_CreatesSafeHandle()
        {
            using NativeExportsNE.NativeExportsSafeHandle handle = NativeExportsNE.AllocateHandle();

            Assert.False(handle.IsClosed);
            Assert.False(handle.IsInvalid);
        }
Beispiel #3
0
 public void ByRefDifferentValue_UsesNewHandleInstance()
 {
     using NativeExportsNE.NativeExportsSafeHandle handleToDispose = NativeExportsNE.AllocateHandle();
     NativeExportsNE.NativeExportsSafeHandle handle = handleToDispose;
     NativeExportsNE.ModifyHandle(ref handle, newHandle: true);
     Assert.NotSame(handleToDispose, handle);
     handle.Dispose();
 }
Beispiel #4
0
 public void ByRefOut_CreatesSafeHandle()
 {
     NativeExportsNE.NativeExportsSafeHandle handle;
     NativeExportsNE.AllocateHandle(out handle);
     Assert.False(handle.IsClosed);
     Assert.False(handle.IsInvalid);
     handle.Dispose();
 }
Beispiel #5
0
 public void ByValue_CorrectlyUnwrapsHandle()
 {
     using NativeExportsNE.NativeExportsSafeHandle handle = NativeExportsNE.AllocateHandle();
     Assert.True(NativeExportsNE.IsHandleAlive(handle));
 }