diff --git a/Source/MQTTnet.Tests/Helpers/MqttClientExtensions.cs b/Source/MQTTnet.Tests/Helpers/MqttClientExtensions.cs new file mode 100644 index 00000000..314244c4 --- /dev/null +++ b/Source/MQTTnet.Tests/Helpers/MqttClientExtensions.cs @@ -0,0 +1,23 @@ +// Licensed to the .NET Foundation under one or more agreements. +// The .NET Foundation licenses this file to you under the MIT license. +// See the LICENSE file in the project root for more information. + +using System; +using MQTTnet.Client; +using MQTTnet.Tests.Mockups; + +namespace MQTTnet.Tests.Helpers +{ + public static class MqttClientExtensions + { + public static TestApplicationMessageReceivedHandler TrackReceivedMessages(this IMqttClient client) + { + if (client == null) + { + throw new ArgumentNullException(nameof(client)); + } + + return new TestApplicationMessageReceivedHandler(client); + } + } +} \ No newline at end of file diff --git a/Source/MQTTnet.Tests/Mockups/TestApplicationMessageReceivedHandler.cs b/Source/MQTTnet.Tests/Mockups/TestApplicationMessageReceivedHandler.cs index 7556709a..4d5b7761 100644 --- a/Source/MQTTnet.Tests/Mockups/TestApplicationMessageReceivedHandler.cs +++ b/Source/MQTTnet.Tests/Mockups/TestApplicationMessageReceivedHandler.cs @@ -27,6 +27,17 @@ namespace MQTTnet.Tests.Mockups mqttClient.ApplicationMessageReceivedAsync += OnApplicationMessageReceivedAsync; } + public int Count + { + get + { + lock (_receivedEventArgs) + { + return _receivedEventArgs.Count; + } + } + } + public List ReceivedEventArgs { get