public void ByRefSameValue_UsesSameHandleInstance() { using NativeExportsNE.NativeExportsSafeHandle handleToDispose = NativeExportsNE.AllocateHandle(); NativeExportsNE.NativeExportsSafeHandle handle = handleToDispose; NativeExportsNE.ModifyHandle(ref handle, newHandle: false); Assert.Same(handleToDispose, handle); }
public void ReturnValue_CreatesSafeHandle() { using NativeExportsNE.NativeExportsSafeHandle handle = NativeExportsNE.AllocateHandle(); Assert.False(handle.IsClosed); Assert.False(handle.IsInvalid); }
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(); }
public void ByRefOut_CreatesSafeHandle() { NativeExportsNE.NativeExportsSafeHandle handle; NativeExportsNE.AllocateHandle(out handle); Assert.False(handle.IsClosed); Assert.False(handle.IsInvalid); handle.Dispose(); }
public void ByValue_CorrectlyUnwrapsHandle() { using NativeExportsNE.NativeExportsSafeHandle handle = NativeExportsNE.AllocateHandle(); Assert.True(NativeExportsNE.IsHandleAlive(handle)); }