public static void Run() { var text = @"I<UTOD231458907<<<<<<<<<<<<<<< 7408122F1204159UTO<<<<<<<<<<<6 ERIKSSON<<ANNA<MARIA<<<<<<<<<<"; Console.WriteLine("TD1 code sample"); Console.WriteLine(); Console.WriteLine(text); Console.WriteLine(); var mrzCode = MrzCode.Parse(text); Console.WriteLine("Code type: {0}", mrzCode.Type); Console.WriteLine("DocumentType: {0}", mrzCode[FieldType.DocumentType]); Console.WriteLine("CountryCode: {0}", mrzCode[FieldType.CountryCode]); Console.WriteLine("DocumentNumber: {0}", mrzCode[FieldType.DocumentNumber]); Console.WriteLine("DocumentNumberCheckDigit: {0}", mrzCode[FieldType.DocumentNumberCheckDigit]); Console.WriteLine("OptionalData1: {0}", mrzCode[FieldType.OptionalData1]); Console.WriteLine("BirthDate: {0}", mrzCode[FieldType.BirthDate]); Console.WriteLine("BirthDateCheckDigit: {0}", mrzCode[FieldType.BirthDateCheckDigit]); Console.WriteLine("Sex: {0}", mrzCode[FieldType.Sex]); Console.WriteLine("ExpiryDate: {0}", mrzCode[FieldType.ExpiryDate]); Console.WriteLine("ExpiryDateCheckDigit: {0}", mrzCode[FieldType.ExpiryDateCheckDigit]); Console.WriteLine("Nationality: {0}", mrzCode[FieldType.Nationality]); Console.WriteLine("OptionalData2: {0}", mrzCode[FieldType.OptionalData2]); Console.WriteLine("OverallCheckDigit: {0}", mrzCode[FieldType.OverallCheckDigit]); Console.WriteLine("Names: {0}", mrzCode[FieldType.Names]); Console.WriteLine(); }
public static void Run() { var codes = new[] { @"I<UTOD231458907<<<<<<<<<<<<<<< 7408122F1204159UTO<<<<<<<<<<<6 ERIKSSON<<ANNA<MARIA<<<<<<<<<<", @"I<UTOERIKSSON<<ANNA<MARIA<<<<<<<<<<< D231458907UTO7408122F1204159<<<<<<<6", @"P<UTOERIKSSON<<ANNA<MARIA<<<<<<<<<<<<<<<<<<< L898902C36UTO7408122F1204159ZE184226B<<<<<10", @"V<UTOERIKSSON<<ANNA<MARIA<<<<<<<<<<<<<<<<<<< L8988901C4XXX4009078F96121096ZE184226B<<<<<<", @"V<UTOERIKSSON<<ANNA<MARIA<<<<<<<<<<< L8988901C4XXX4009078F9612109<<<<<<<<" }; Console.WriteLine("Parsing MRZ codes sample"); foreach (var code in codes) { Console.WriteLine(); Console.WriteLine(code); Console.WriteLine(); var mrzCode = MrzCode.Parse(code); Console.WriteLine("Code type: {0}", mrzCode.Type); foreach (var fieldType in mrzCode.FieldTypes) { Console.WriteLine("{0}: {1}", fieldType, mrzCode[fieldType]); } } }
public static void Run() { var text = @"P<UTOERIKSSON<<ANNA<MARIA<<<<<<<<<<<<<<<<<<< L898902C36UTO7408122F1204159ZE184226B<<<<<10"; Console.WriteLine("TD3 code sample"); Console.WriteLine(); Console.WriteLine(text); Console.WriteLine(); var mrzCode = MrzCode.Parse(text); Console.WriteLine("Code type: {0}", mrzCode.Type); Console.WriteLine("DocumentType: {0}", mrzCode[FieldType.DocumentType]); Console.WriteLine("CountryCode: {0}", mrzCode[FieldType.CountryCode]); Console.WriteLine("PrimaryIdentifier: {0}", mrzCode[FieldType.PrimaryIdentifier]); Console.WriteLine("DocumentNumber: {0}", mrzCode[FieldType.DocumentNumber]); Console.WriteLine("DocumentNumberCheckDigit: {0}", mrzCode[FieldType.DocumentNumberCheckDigit]); Console.WriteLine("Nationality: {0}", mrzCode[FieldType.Nationality]); Console.WriteLine("BirthDate: {0}", mrzCode[FieldType.BirthDate]); Console.WriteLine("BirthDateCheckDigit: {0}", mrzCode[FieldType.BirthDateCheckDigit]); Console.WriteLine("Sex: {0}", mrzCode[FieldType.Sex]); Console.WriteLine("ExpiryDate: {0}", mrzCode[FieldType.ExpiryDate]); Console.WriteLine("ExpiryDateCheckDigit: {0}", mrzCode[FieldType.ExpiryDateCheckDigit]); Console.WriteLine("OptionalData: {0}", mrzCode[FieldType.OptionalData]); Console.WriteLine("OptionalDataCheckDigit: {0}", mrzCode[FieldType.OptionalDataCheckDigit]); Console.WriteLine("OverallCheckDigit: {0}", mrzCode[FieldType.OverallCheckDigit]); Console.WriteLine(); }
public void ExceptionIfCodeDoesNotMatchPattern() { const string invalidCode = @"V<UTOERIKSSON<<ANNA<MARIA<<<<<<<<<<<<<<<<<<< L8988901C4XXX4009078R96121096ZE184226B<<<<<<"; // invalid sex value Assert.Throws <MrzCodeException>(() => MrzCode.Parse(invalidCode)[FieldType.Sex]); }
public static void Run() { var text = @"V<UTOERIKSSON<<ANNA<MARIA<<<<<<<<<<<<<<<<<<< L8988901C4XXX4009078F96121096ZE184226B<<<<<<"; Console.WriteLine("MRVA code sample"); Console.WriteLine(); Console.WriteLine(text); Console.WriteLine(); var mrzCode = MrzCode.Parse(text); Console.WriteLine("Code type: {0}", mrzCode.Type); Console.WriteLine("DocumentType: {0}", mrzCode[FieldType.DocumentType]); Console.WriteLine("CountryCode: {0}", mrzCode[FieldType.CountryCode]); Console.WriteLine("PrimaryIdentifier: {0}", mrzCode[FieldType.PrimaryIdentifier]); Console.WriteLine("DocumentNumber: {0}", mrzCode[FieldType.DocumentNumber]); Console.WriteLine("DocumentNumberCheckDigit: {0}", mrzCode[FieldType.DocumentNumberCheckDigit]); Console.WriteLine("Nationality: {0}", mrzCode[FieldType.Nationality]); Console.WriteLine("BirthDate: {0}", mrzCode[FieldType.BirthDate]); Console.WriteLine("BirthDateCheckDigit: {0}", mrzCode[FieldType.BirthDateCheckDigit]); Console.WriteLine("Sex: {0}", mrzCode[FieldType.Sex]); Console.WriteLine("ExpiryDate: {0}", mrzCode[FieldType.ExpiryDate]); Console.WriteLine("ExpiryDateCheckDigit: {0}", mrzCode[FieldType.ExpiryDateCheckDigit]); Console.WriteLine("OptionalData: {0}", mrzCode[FieldType.OptionalData]); Console.WriteLine(); }
public void FieldTypeCollectionTest() { var target = MrzCode.Parse(MrzSamples.MRVA); var expected = new[] { FieldType.DocumentType, FieldType.CountryCode, FieldType.PrimaryIdentifier, FieldType.DocumentNumber, FieldType.DocumentNumberCheckDigit, FieldType.Nationality, FieldType.BirthDate, FieldType.BirthDateCheckDigit, FieldType.Sex, FieldType.ExpiryDate, FieldType.ExpiryDateCheckDigit, FieldType.OptionalData }; var actual = target.FieldTypes.ToList(); Assert.Equal(expected.Length, actual.Count()); Assert.Equal(expected, actual); }
public void CodeFieldsTest_BackwardCompatibility() { var target = MrzCode.Parse(MrzSamples.TD3); Assert.Equal(target[FieldType.OptionalData], target[FieldType.OptionalData2]); Assert.Equal(target[FieldType.OptionalDataCheckDigit], target[FieldType.OptionalData2CheckDigit]); }
public void FirstLineFieldsTest() { var target = MrzCode.Parse(MrzSamples.MRVA).Lines.First(); Assert.Equal(DocumentType.V.ToString(), target.Fields[FieldType.DocumentType].Value); Assert.Equal("UTO", target.Fields[FieldType.CountryCode].Value); Assert.Equal("ERIKSSON, ANNA MARIA", target.Fields[FieldType.PrimaryIdentifier].Value); }
public void FirstLineFieldsTest() { var target = MrzCode.Parse(MrzSamples.TD1).Lines.First(); Assert.Equal(DocumentType.I.ToString(), target.Fields[FieldType.DocumentType].Value); Assert.Equal("UTO", target.Fields[FieldType.CountryCode].Value); Assert.Equal("D23145890", target.Fields[FieldType.DocumentNumber].Value); Assert.Equal("7", target.Fields[FieldType.DocumentNumberCheckDigit].Value); Assert.Equal("", target.Fields[FieldType.OptionalData1].Value); }
public void SecondLineFieldsTest() { var target = MrzCode.Parse(MrzSamples.TD1).Lines.ElementAt(1); Assert.Equal("740812", target.Fields[FieldType.BirthDate].Value); Assert.Equal("2", target.Fields[FieldType.BirthDateCheckDigit].Value); Assert.Equal("F", target.Fields[FieldType.Sex].Value); Assert.Equal("120415", target.Fields[FieldType.ExpiryDate].Value); Assert.Equal("9", target.Fields[FieldType.ExpiryDateCheckDigit].Value); Assert.Equal("UTO", target.Fields[FieldType.Nationality].Value); Assert.Equal("", target.Fields[FieldType.OptionalData2].Value); Assert.Equal("6", target.Fields[FieldType.OverallCheckDigit].Value); }
public void SecondLineFieldsTest() { var target = MrzCode.Parse(MrzSamples.MRVA).Lines.Last(); Assert.Equal("L8988901C", target.Fields[FieldType.DocumentNumber].Value); Assert.Equal("4", target.Fields[FieldType.DocumentNumberCheckDigit].Value); Assert.Equal("XXX", target.Fields[FieldType.Nationality].Value); Assert.Equal("400907", target.Fields[FieldType.BirthDate].Value); Assert.Equal("8", target.Fields[FieldType.BirthDateCheckDigit].Value); Assert.Equal("F", target.Fields[FieldType.Sex].Value); Assert.Equal("961210", target.Fields[FieldType.ExpiryDate].Value); Assert.Equal("9", target.Fields[FieldType.ExpiryDateCheckDigit].Value); Assert.Equal("6ZE184226B", target.Fields[FieldType.OptionalData].Value); }
public void SecondLineFieldsTest() { var target = MrzCode.Parse(MrzSamples.TD2).Lines.Last(); Assert.Equal("D23145890", target.Fields[FieldType.DocumentNumber].Value); Assert.Equal("7", target.Fields[FieldType.DocumentNumberCheckDigit].Value); Assert.Equal("UTO", target.Fields[FieldType.Nationality].Value); Assert.Equal("740812", target.Fields[FieldType.BirthDate].Value); Assert.Equal("2", target.Fields[FieldType.BirthDateCheckDigit].Value); Assert.Equal("F", target.Fields[FieldType.Sex].Value); Assert.Equal("120415", target.Fields[FieldType.ExpiryDate].Value); Assert.Equal("9", target.Fields[FieldType.ExpiryDateCheckDigit].Value); Assert.Equal("", target.Fields[FieldType.OptionalData].Value); Assert.Equal("6", target.Fields[FieldType.OverallCheckDigit].Value); }
public void CodeFieldsTest() { var target = MrzCode.Parse(MrzSamples.MRVA); Assert.Equal(DocumentType.V.ToString(), target[FieldType.DocumentType]); Assert.Equal("UTO", target[FieldType.CountryCode]); Assert.Equal("ERIKSSON, ANNA MARIA", target[FieldType.PrimaryIdentifier]); Assert.Equal("L8988901C", target[FieldType.DocumentNumber]); Assert.Equal("4", target[FieldType.DocumentNumberCheckDigit]); Assert.Equal("XXX", target[FieldType.Nationality]); Assert.Equal("400907", target[FieldType.BirthDate]); Assert.Equal("8", target[FieldType.BirthDateCheckDigit]); Assert.Equal("F", target[FieldType.Sex]); Assert.Equal("961210", target[FieldType.ExpiryDate]); Assert.Equal("9", target[FieldType.ExpiryDateCheckDigit]); Assert.Equal("6ZE184226B", target[FieldType.OptionalData]); }
public void CodeFieldsTest() { var target = MrzCode.Parse(MrzSamples.TD2); Assert.Equal(DocumentType.I.ToString(), target[FieldType.DocumentType]); Assert.Equal("UTO", target[FieldType.CountryCode]); Assert.Equal("ERIKSSON, ANNA MARIA", target[FieldType.PrimaryIdentifier]); Assert.Equal("D23145890", target[FieldType.DocumentNumber]); Assert.Equal("7", target[FieldType.DocumentNumberCheckDigit]); Assert.Equal("UTO", target[FieldType.Nationality]); Assert.Equal("740812", target[FieldType.BirthDate]); Assert.Equal("2", target[FieldType.BirthDateCheckDigit]); Assert.Equal("F", target[FieldType.Sex]); Assert.Equal("120415", target[FieldType.ExpiryDate]); Assert.Equal("9", target[FieldType.ExpiryDateCheckDigit]); Assert.Equal("", target[FieldType.OptionalData]); Assert.Equal("6", target[FieldType.OverallCheckDigit]); }
public void CodeTypeDetection(string input, CodeType expected) { var target = MrzCode.Parse(input); Assert.Equal(expected, target.Type); }
public void ToStringReturnsInputLines(string input) { var target = MrzCode.Parse(input); Assert.Equal(input, target.ToString()); }
public void AccessToInvalidFieldTypeWithException(string input, FieldType invalidType) { var target = MrzCode.Parse(input); Assert.Throws <MrzCodeException>(() => target[invalidType]); }
public void ThirdLineFieldsTest() { var target = MrzCode.Parse(MrzSamples.TD1).Lines.Last(); Assert.Equal("ERIKSSON, ANNA MARIA", target.Fields[FieldType.Names].Value); }
public void LinesCount(string input, int expected) { var target = MrzCode.Parse(input); Assert.Equal(expected, target.Lines.Count()); }