public async Task Disconnect_Success()
        {
            var eventraised    = false;
            var host           = "MyHost";
            var token          = "MyToken";
            var autoresetevent = new AutoResetEvent(false);

            _nativeMqttClient.Setup(d => d.Disconnect()).Returns(Task.CompletedTask).Raises(d => d.Disconnected += null, EventArgs.Empty);

            var client = new HC2Client(_nativeMqttClient.Object, host, token);

            client.Disconnected += (sender, args) =>
            {
                eventraised = true;
                autoresetevent.Set();
            };

            await client.Disconnect();

            autoresetevent.WaitOne(TimeSpan.FromSeconds(2)).Should().BeTrue();
            eventraised.Should().Be(true);
            _nativeMqttClient.Verify(d => d.Disconnect(), Times.Once);
        }