Use latest language features (#2176)

* Make use of language features line AsyncDispose, init etc.

* Fix build errors

* Improve Unit Tests

* Improve Unit Tests

* Improve Unit Tests

* Update samples

* Remove obsolete benchmarks

* Code cleanup

* Improve unit tests

* Improve Unit Tests

* Fix Unit Tests

* Improve Unit Tests

* Improve Unit Tests

* Restore unit tests

* Exclude load tests from unit tests
This commit is contained in:
Christian
2025-08-30 10:52:59 +02:00
committed by GitHub
parent 247988e633
commit e43e7f8e36
330 changed files with 21417 additions and 22919 deletions
@@ -10,72 +10,71 @@ using System.Threading.Tasks;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using MQTTnet.Internal;
namespace MQTTnet.Tests.Mockups
namespace MQTTnet.Tests.Mockups;
public sealed class TestApplicationMessageReceivedHandler
{
public sealed class TestApplicationMessageReceivedHandler
readonly List<MqttApplicationMessageReceivedEventArgs> _receivedEventArgs = new List<MqttApplicationMessageReceivedEventArgs>();
public TestApplicationMessageReceivedHandler(IMqttClient mqttClient)
{
readonly List<MqttApplicationMessageReceivedEventArgs> _receivedEventArgs = new List<MqttApplicationMessageReceivedEventArgs>();
ArgumentNullException.ThrowIfNull(mqttClient);
public TestApplicationMessageReceivedHandler(IMqttClient mqttClient)
{
ArgumentNullException.ThrowIfNull(mqttClient);
mqttClient.ApplicationMessageReceivedAsync += OnApplicationMessageReceivedAsync;
}
mqttClient.ApplicationMessageReceivedAsync += OnApplicationMessageReceivedAsync;
}
public int Count
{
get
{
lock (_receivedEventArgs)
{
return _receivedEventArgs.Count;
}
}
}
public List<MqttApplicationMessageReceivedEventArgs> ReceivedEventArgs
{
get
{
lock (_receivedEventArgs)
{
return _receivedEventArgs.ToList();
}
}
}
public void AssertReceivedCountEquals(int expectedCount)
{
Assert.AreEqual(expectedCount, Count);
}
public string GeneratePayloadSequence()
{
var sequence = new StringBuilder();
lock (_receivedEventArgs)
{
foreach (var receivedEventArg in _receivedEventArgs)
{
var payload = receivedEventArg.ApplicationMessage.ConvertPayloadToString();
// An empty payload is not part of the sequence!
sequence.Append(payload);
}
}
return sequence.ToString();
}
Task OnApplicationMessageReceivedAsync(MqttApplicationMessageReceivedEventArgs eventArgs)
public int Count
{
get
{
lock (_receivedEventArgs)
{
_receivedEventArgs.Add(eventArgs);
return _receivedEventArgs.Count;
}
return CompletedTask.Instance;
}
}
public List<MqttApplicationMessageReceivedEventArgs> ReceivedEventArgs
{
get
{
lock (_receivedEventArgs)
{
return _receivedEventArgs.ToList();
}
}
}
public void AssertReceivedCountEquals(int expectedCount)
{
Assert.AreEqual(expectedCount, Count);
}
public string GeneratePayloadSequence()
{
var sequence = new StringBuilder();
lock (_receivedEventArgs)
{
foreach (var receivedEventArg in _receivedEventArgs)
{
var payload = receivedEventArg.ApplicationMessage.ConvertPayloadToString();
// An empty payload is not part of the sequence!
sequence.Append(payload);
}
}
return sequence.ToString();
}
Task OnApplicationMessageReceivedAsync(MqttApplicationMessageReceivedEventArgs eventArgs)
{
lock (_receivedEventArgs)
{
_receivedEventArgs.Add(eventArgs);
}
return CompletedTask.Instance;
}
}