Browse Source

Fix exception message and add test cases.

release/3.x.x
PMExtra 4 years ago
parent
commit
774d49a908
2 changed files with 5 additions and 1 deletions
  1. +1
    -1
      Source/MQTTnet/Extensions/UserPropertyExtension.cs
  2. +4
    -0
      Tests/MQTTnet.Core.Tests/MqttApplicationMessage_Tests.cs

+ 1
- 1
Source/MQTTnet/Extensions/UserPropertyExtension.cs View File

@@ -25,7 +25,7 @@ namespace MQTTnet.Extensions
}
catch (Exception ex)
{
throw new InvalidOperationException($"Cannot convert value({value}) of UserProperty({propertyName}) to {typeof(T).FullName}.", ex);
throw new InvalidOperationException($"Cannot convert value({value ?? "null"}) of UserProperty({propertyName}) to {typeof(T).FullName}.", ex);
}
}
}


+ 4
- 0
Tests/MQTTnet.Core.Tests/MqttApplicationMessage_Tests.cs View File

@@ -1,3 +1,4 @@
using System;
using System.Collections.Generic;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using MQTTnet.Extensions;
@@ -24,6 +25,9 @@ namespace MQTTnet.Tests
Assert.AreEqual("bar", message.GetUserProperty("foo"));
Assert.AreEqual(1011, message.GetUserProperty<int>("value"));
Assert.AreEqual("insensitive", message.GetUserProperty("case"));
Assert.AreEqual(null, message.GetUserProperty("nonExists"));
Assert.AreEqual(null, message.GetUserProperty<int?>("nonExists"));
Assert.ThrowsException<InvalidOperationException>(() => message.GetUserProperty<int>("nonExists"));
}
}
}

Loading…
Cancel
Save