From 5ecf37a7c844ae9465d21e5e3df95453d76d2fbf Mon Sep 17 00:00:00 2001 From: Patrick Grote Date: Wed, 2 Oct 2024 15:50:05 +0200 Subject: [PATCH] Minor --- RDMSharp/Metadata/JSON/OneOfTypes/StringType.cs | 4 ++-- RDMSharpTests/Metadata/JSON/TestStringType.cs | 9 +++++++++ 2 files changed, 11 insertions(+), 2 deletions(-) diff --git a/RDMSharp/Metadata/JSON/OneOfTypes/StringType.cs b/RDMSharp/Metadata/JSON/OneOfTypes/StringType.cs index b5faec7..978ac03 100644 --- a/RDMSharp/Metadata/JSON/OneOfTypes/StringType.cs +++ b/RDMSharp/Metadata/JSON/OneOfTypes/StringType.cs @@ -199,12 +199,12 @@ void parse(Encoding encoder) takenBytesCount = byteLength; charLength = str.Length; bool repeatParse = false; - if (MaxLength.HasValue && MaxLength < charLength) + if (MaxLength.HasValue && MaxLength.Value < charLength) { charLength = (int)MaxLength.Value; repeatParse = true; } - if (MaxBytes.HasValue && MaxBytes < byteLength) + if (MaxBytes.HasValue && MaxBytes.Value < byteLength) { byteLength = (int)MaxBytes.Value; repeatParse = true; diff --git a/RDMSharpTests/Metadata/JSON/TestStringType.cs b/RDMSharpTests/Metadata/JSON/TestStringType.cs index 642ce18..51704c7 100644 --- a/RDMSharpTests/Metadata/JSON/TestStringType.cs +++ b/RDMSharpTests/Metadata/JSON/TestStringType.cs @@ -160,6 +160,15 @@ public void TestParseBadFormatedData1() dataTree = stringType.ParseDataToPayload(ref data); Assert.That(dataTree.Value, Is.EqualTo(string.Empty)); Assert.That(dataTree.Issues, Has.Length.EqualTo(1)); + + data = new byte[] { 195, 132, 195, 132, 195, 132, 195, 132, 0 }; + dataTree = stringType.ParseDataToPayload(ref data); + Assert.That(dataTree.Value, Is.EqualTo("ÄÄÄÄ")); + Assert.That(dataTree.Issues, Has.Length.EqualTo(1)); + data = new byte[] { 195, 132, 195, 132, 195, 132, 195, 132, 119, 119, 0 }; + dataTree = stringType.ParseDataToPayload(ref data); + Assert.That(dataTree.Value, Is.EqualTo("ÄÄÄÄ")); + Assert.That(dataTree.Issues, Has.Length.EqualTo(1)); } [Test] public void TestParseBadFormatedData2()