public void Unregister_ThenUnsafeNativeMethodUnregisterDeviceNotificationsIsCalled()
        {
            // ARRANGE
            var mockedBroadcastDeviceInterfaceFactory = new Mock<IBroadcastDeviceInterfaceFactory>();
            var mockedMarshallWrapper = new Mock<IMarshalWrapper>();
            var mockedUnsafeNativeMethodsWrapper = new Mock<IUnsafeNativeMethodsWrapper>();
            var mockedProcessHandleResultFactory = new Mock<IProcessHandleResultFactory>();
            var deviceManagement = new DeviceNotifications(
                mockedBroadcastDeviceInterfaceFactory.Object,
                mockedMarshallWrapper.Object,
                mockedUnsafeNativeMethodsWrapper.Object,
                mockedProcessHandleResultFactory.Object);
            var unregisterHandle = new IntPtr(42);

            // ACT
            deviceManagement.UnRegister(unregisterHandle);

            // ASSERT
            mockedUnsafeNativeMethodsWrapper.Verify(x => x.UnRegisterDeviceNotification(unregisterHandle), Times.Once);
        }