diff --git a/src/Mindee/Parsing/Passport/PassportV1Prediction.cs b/src/Mindee/Parsing/Passport/PassportV1Prediction.cs
index d558110c..35479695 100644
--- a/src/Mindee/Parsing/Passport/PassportV1Prediction.cs
+++ b/src/Mindee/Parsing/Passport/PassportV1Prediction.cs
@@ -72,6 +72,11 @@ public sealed class PassportV1Prediction : PredictionBase
[JsonPropertyName("mrz2")]
public StringField Mrz2 { get; set; }
+ ///
+ /// Combine the MRZ lines.
+ ///
+ public string Mrz => $"{Mrz1.Value}{Mrz2.Value}";
+
///
/// The surname of the person.
///
@@ -79,12 +84,18 @@ public sealed class PassportV1Prediction : PredictionBase
public StringField Surname { get; set; }
///
- ///
+ /// The full name.
+ ///
+ public string FullName => $"{string.Join(" ", GivenNames.Select(gn => gn.Value))} {Surname.Value}";
+
+ ///
+ ///
///
///
public override string ToString()
{
- StringBuilder result = new StringBuilder("-----Passport data-----\n");
+ StringBuilder result = new StringBuilder("----- Passport V1 -----\n");
+ result.Append($"Full name: {FullName}\n");
result.Append($"Given names: {string.Join(" ", GivenNames.Select(gn => gn.Value))}\n");
result.Append($"Surname: {Surname.Value}\n");
result.Append($"Country: {Country.Value}\n");
@@ -94,10 +105,11 @@ public override string ToString()
result.Append($"Expiry date: {ExpiryDate.Value}\n");
result.Append($"MRZ 1: {Mrz1.Value}\n");
result.Append($"MRZ 2: {Mrz2.Value}\n");
+ result.Append($"MRZ: {Mrz}\n");
- result.Append("----------------------");
+ result.Append("----------------------\n");
- return result.ToString();
+ return SummaryHelper.Clean(result.ToString());
}
}
}
diff --git a/tests/Mindee.UnitTests/Parsing/Passport/PassportV1Test.cs b/tests/Mindee.UnitTests/Parsing/Passport/PassportV1Test.cs
index 8fb2fd4c..4e678895 100644
--- a/tests/Mindee.UnitTests/Parsing/Passport/PassportV1Test.cs
+++ b/tests/Mindee.UnitTests/Parsing/Passport/PassportV1Test.cs
@@ -6,15 +6,36 @@ namespace Mindee.UnitTests.Parsing.Passport
[Trait("Category", "Passport V1")]
public class PassportV1Test
{
- [Fact(Skip = "Waiting for the summary format update.")]
- public async Task Execute_WithPassportData_MustSuccess()
+ [Fact]
+ public async Task Predict_CheckSummary()
{
- var mindeeApi = GetMindeeApiForPassport();
- var prediction = await mindeeApi.PredictAsync(ParsingTestBase.GetFakePredictParameter());
+ var mindeeAPi = GetMindeeApiForPassport();
+ var prediction = await mindeeAPi.PredictAsync(ParsingTestBase.GetFakePredictParameter());
var expected = File.ReadAllText("Resources/passport/response_v1/doc_to_string.txt");
- Assert.Equal(expected, prediction.ToString());
+ var indexFilename = expected.IndexOf("Filename");
+ var indexEOL = expected.IndexOf("\n", indexFilename);
+
+ Assert.Equal(
+ expected.Remove(indexFilename, indexEOL - indexFilename + 1),
+ prediction.Inference.Prediction.ToString());
+ }
+
+ [Fact]
+ public async Task Predict_CheckSummary_WithMultiplePages()
+ {
+ var mindeeAPi = GetMindeeApiForPassport();
+ var prediction = await mindeeAPi.PredictAsync(ParsingTestBase.GetFakePredictParameter());
+
+ var expected = File.ReadAllText("Resources/passport/response_v1/page0_to_string.txt");
+
+ var indexFilename = expected.IndexOf("Filename");
+ var indexEOL = expected.IndexOf("\n", indexFilename);
+
+ Assert.Equal(
+ expected.Remove(indexFilename, indexEOL - indexFilename + 1),
+ prediction.Inference.Pages.First().Prediction.ToString());
}
[Fact]
diff --git a/tests/resources b/tests/resources
index 7290bb01..b1f50651 160000
--- a/tests/resources
+++ b/tests/resources
@@ -1 +1 @@
-Subproject commit 7290bb01ace842b90e150ee68f533776d7527471
+Subproject commit b1f506519ab10714cc19223457697fd09099a467