public void FindFirst_ShouldReturnNull_OnNoMatch() { var tlvs = EmvTlvList.Parse(_validAsciiHexString); var _tag = tlvs.FindFirst("5F20"); Assert.Null(_tag); }
public void FindAll_ShouldReturnEmptyList_OnNoMatch() { var tlvs = EmvTlvList.Parse(_validAsciiHexString); var _tag = tlvs.FindAll("5F20"); Assert.Empty(_tag); }
public void Parse_ShouldHandle_PrimitiveMultiByteExtendedTag_WithPadding() { var tlvs = EmvTlvList.Parse($"0000{_primitiveMultiByteExtendedTag}0000"); AssertPrimitiveMultiByteExtendedTag(tlvs); Assert.Equal(_primitiveMultiByteExtendedTag, tlvs.Tlv.Hex); }
public void Parse_ShouldHandle_PrimitiveMultiByteExtendedTag() { var tlvs = EmvTlvList.Parse(_primitiveMultiByteExtendedTag); AssertPrimitiveMultiByteExtendedTag(tlvs); Assert.Equal(_primitiveMultiByteExtendedTag, tlvs.Tlv.Hex); }
public void FindFirst_ShouldReturnNull_OnPartialMatchWithMultiByteTag() { var tlvs = EmvTlvList.Parse(_validAsciiHexString); var _tag = tlvs.FindFirst("5F"); Assert.Null(_tag); }
public void FindFirst_ShouldLocate_MultiByteTag() { var tlvs = EmvTlvList.Parse(_validAsciiHexString); var _tag = tlvs.FindFirst("5F2D"); Assert.NotNull(_tag); Assert.True(_tag.Tag.Hex == "5F2D"); }
public void FindFirst_ShouldLocate_SecondLevelChildTag() { var tlvs = EmvTlvList.Parse(_validAsciiHexString); var _tag = tlvs.FindFirst("88"); Assert.NotNull(_tag); Assert.True(_tag.Tag.Hex == "88"); }
public void FindFirst_ShouldLocate_FirstLevelChildTag() { var tlvs = EmvTlvList.Parse(_validAsciiHexString); var _84 = tlvs.FindFirst("84"); Assert.NotNull(_84); Assert.True(_84.Tag.Hex == "84"); }
public void FindFirst_ShouldLocate_ConstructedTag() { var tlvs = EmvTlvList.Parse(_validAsciiHexString); var _tag = tlvs.FindFirst("A5"); Assert.NotNull(_tag); Assert.True(_tag.Tag.Hex == "A5"); }
public void FindFirst_ShouldLocate_RootTag() { var tlvs = EmvTlvList.Parse(_validAsciiHexString); var _6F = tlvs.FindFirst(0x6F); Assert.NotNull(_6F); Assert.True(_6F.Tag.Hex == "6F"); }
// Validation Methods private static void AssertPrimitiveTag(EmvTlvList tlvs) { Assert.NotNull(tlvs); Assert.True(tlvs.Count == 1); Assert.True(tlvs[0].Tag.Hex == "9A"); Assert.True(tlvs[0].Length == 3); Assert.True(tlvs[0].Value.Hex == "191122"); }
private static void AssertPrimitiveExtendedTag(EmvTlvList tlvs) { Assert.NotNull(tlvs); Assert.True(tlvs.Count == 1); Assert.True(tlvs[0].Tag.Hex == "90"); Assert.True(tlvs[0].Length == 192); Assert.True(tlvs[0].Value.Hex == "1DE9604518D266B23721DBDDBB71CFE21003EFD717324E3B02749EDCA5901CBBFBB1A834594BDA2F3597A0345385E7587051D8350B4F7EFC2913609B855F00F2FEFB161D91A981D65609BE043F36F753011AD7B39956B7FAC1B154787A713F76C289DBDCACE3E3A3643AD7799F391D93124FD89F3D5CB325140B85FB6158315F91AE65C259C3AD19AAEB851270167E078D99A8E364ED12E4B4C7D4F30E38DF6D19CC8756472D12EBC38B6446EF544C626347B15D41DD88A7F61E3970CF6CDE5F"); }
private static void AssertPrimitiveMultiByteExtendedTag(EmvTlvList tlvs) { Assert.NotNull(tlvs); Assert.True(tlvs.Count == 1); Assert.True(tlvs[0].Tag.Hex == "5F50"); Assert.True(tlvs[0].Length == 43); Assert.True(tlvs[0].Value.Hex == "68747470733A2F2F6769746875622E636F6D2F62657075727375616E742F47726561742E456D7654616773"); }
private static void AssertPrimitiveMultiByteTag(EmvTlvList tlvs) { Assert.NotNull(tlvs); Assert.True(tlvs.Count == 1); Assert.True(tlvs[0].Tag.Hex == "5F34"); Assert.True(tlvs[0].Length == 1); Assert.True(tlvs[0].Value.Hex == "12"); }
public void FindAll_ShouldLocate_FirstLevelChildTags() { var tlvs = EmvTlvList.Parse(_validAsciiHexString); tlvs.AddRange(tlvs); var _tags = tlvs.FindAll(0x84); Assert.NotNull(_tags); Assert.True(_tags.Count == 2); }
private void AssertConstructedNestedTagWithPadding(EmvTlvList tlvs) { Assert.NotNull(tlvs); Assert.True(tlvs.Count == 1); Assert.True(tlvs[0].Tag.Hex == "6F"); Assert.True(tlvs[0].Length == 29); Assert.True(tlvs[0].Value.Hex == "840E315041592E5359532E4444463031000000A5088801025F2D02656E"); Assert.NotNull(tlvs[0].Children); Assert.True(tlvs[0].Children.Count == 2); Assert.True(tlvs[0].Children[0].Tag.Hex == "84"); Assert.True(tlvs[0].Children[0].Length == 14); Assert.True(tlvs[0].Children[0].Value.Hex == "315041592E5359532E4444463031"); tlvs[0].Children.RemoveAt(0); AssertConstructedTag(tlvs[0].Children); }
private static void AssertConstructedTag(EmvTlvList tlvs) { Assert.NotNull(tlvs); Assert.True(tlvs.Count == 1); Assert.True(tlvs[0].Tag.Hex == "A5"); Assert.True(tlvs[0].Length == 8); Assert.True(tlvs[0].Value.Hex == "8801025F2D02656E"); Assert.NotNull(tlvs[0].Children); Assert.True(tlvs[0].Children.Count == 2); Assert.True(tlvs[0].Children[0].Tag.Hex == "88"); Assert.True(tlvs[0].Children[0].Length == 1); Assert.True(tlvs[0].Children[0].Value.Hex == "02"); Assert.True(tlvs[0].Children[1].Tag.Hex == "5F2D"); Assert.True(tlvs[0].Children[1].Length == 2); Assert.True(tlvs[0].Children[1].Value.Hex == "656E"); }
public void Parse_ShouldReturnEmptyList_OnEmptyHexArray() { Assert.Empty(EmvTlvList.Parse(new byte[] { })); }
public void Serialize_ShouldHandle_ConstructedNestedTag() { var tlvs = EmvTlvList.Parse(_constructedNestedTag); string a = tlvs.ObjectToXmlString(); }
public void Parse_ShouldReturnEmptyList_OnEmptyString() { Assert.Empty(EmvTlvList.Parse("")); }
public void Parse_ShouldHandle_ConstructedNestedTagWithPadding() { var tlvs = EmvTlvList.Parse(_constructedNestedTagWithPadding); AssertConstructedNestedTagWithPadding(tlvs); }