|
1 | 1 | using Dahomey.Cbor.Serialization; |
2 | 2 | using Xunit; |
3 | 3 | using System; |
4 | | -using Dahomey.Cbor.Util; |
5 | 4 | using System.Globalization; |
6 | 5 | using System.Buffers; |
7 | 6 | using Dahomey.Cbor.Tests.Extensions; |
@@ -337,6 +336,37 @@ public void ReadDataItem(string hexBuffer, string expectedIdValue, string expect |
337 | 336 | Assert.Equal(expectedResultValue, resultValueItem.BytesToHex()); |
338 | 337 | } |
339 | 338 |
|
| 339 | + [Theory] |
| 340 | + [InlineData("a262696468366534306233336266726573756c74c6f6", "683665343062333362", "c6f6")] |
| 341 | + [InlineData("a262696468366534306233336266726573756c74182a", "683665343062333362", "182a")] |
| 342 | + [InlineData("A262696468376235356365363566726573756C7463657965", "683762353563653635", "63657965")] |
| 343 | + public void ReadDataItemButWithoutAdvance(string hexBuffer, string expectedIdValue, string expectedResultValue) |
| 344 | + { |
| 345 | + var reader = new CborReader(hexBuffer.HexToBytes()); |
| 346 | + |
| 347 | + reader.ReadBeginMap(); |
| 348 | + |
| 349 | + int remainingItemCount = reader.ReadSize(); |
| 350 | + |
| 351 | + reader.MoveNextMapItem(ref remainingItemCount); |
| 352 | + var key1 = reader.ReadString(); |
| 353 | + Assert.Equal("id", key1); |
| 354 | + |
| 355 | + var idValueItem1 = reader.ReadDataItem(false); |
| 356 | + var idValueItem2 = reader.ReadDataItem(); |
| 357 | + Assert.Equal(expectedIdValue, idValueItem1.BytesToHex()); |
| 358 | + Assert.Equal(expectedIdValue, idValueItem2.BytesToHex()); |
| 359 | + |
| 360 | + reader.MoveNextMapItem(ref remainingItemCount); |
| 361 | + var key2 = reader.ReadString(); |
| 362 | + Assert.Equal("result", key2); |
| 363 | + |
| 364 | + var resultValueItem1 = reader.ReadDataItem(false); |
| 365 | + var resultValueItem2 = reader.ReadDataItem(); |
| 366 | + Assert.Equal(expectedResultValue, resultValueItem1.BytesToHex()); |
| 367 | + Assert.Equal(expectedResultValue, resultValueItem2.BytesToHex()); |
| 368 | + } |
| 369 | + |
340 | 370 | [Theory] |
341 | 371 | [InlineData("a262696468366534306233336266726573756c74c6f6", CborDataItemType.Null, "f6")] |
342 | 372 | [InlineData("a262696468366534306233336266726573756c74182a", CborDataItemType.Unsigned, "182a")] |
|
0 commit comments