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 ByValue_CorrectlyUnwrapsHandle() { using NativeExportsNE.NativeExportsSafeHandle handle = NativeExportsNE.AllocateHandle(); Assert.True(NativeExportsNE.IsHandleAlive(handle)); }
public void ReturnValue_CreatesSafeHandle_DirectConstructorCall() { using NativeExportsNE.NativeExportsSafeHandle handle = NativeExportsNE.NativeExportsSafeHandle.CreateNewHandle(); Assert.False(handle.IsClosed); Assert.False(handle.IsInvalid); }