diff --git a/src/Mindee/Parsing/Eu/LicensePlatesV1Prediction.cs b/src/Mindee/Parsing/Eu/LicensePlatesV1Prediction.cs new file mode 100644 index 00000000..1080613c --- /dev/null +++ b/src/Mindee/Parsing/Eu/LicensePlatesV1Prediction.cs @@ -0,0 +1,34 @@ +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Text.Json.Serialization; +using Mindee.Parsing.Common; + +namespace Mindee.Parsing.LicensePlates +{ + /// + /// The eu licence plates model for the v1. + /// + [Endpoint("license_plates", "1")] + public sealed class LicensePlatesV1Prediction : PredictionBase + { + /// + /// A list of license plates values. + /// + [JsonPropertyName("license_plates")] + public IList LicensePlates { get; set; } = new List(); + + /// + /// A prettier reprensentation of the current model values. + /// + public override string ToString() + { + StringBuilder result = new StringBuilder("----- EU License plate V1 -----\n"); + result.Append($"License plates: {string.Join(", ", LicensePlates.Select(lp => lp.Value))}\n"); + + result.Append("----------------------\n"); + + return SummaryHelper.Clean(result.ToString()); + } + } +} diff --git a/src/Mindee/Parsing/Fr/CarteVitale/CarteVitaleV1Prediction.cs b/src/Mindee/Parsing/Fr/CarteVitale/CarteVitaleV1Prediction.cs new file mode 100644 index 00000000..f1c41a97 --- /dev/null +++ b/src/Mindee/Parsing/Fr/CarteVitale/CarteVitaleV1Prediction.cs @@ -0,0 +1,55 @@ +using System.Collections.Generic; +using System.Linq; +using System.Text; +using System.Text.Json.Serialization; +using Mindee.Parsing.Common; + +namespace Mindee.Parsing.Fr.IdCard +{ + /// + /// The french carte vitale model for the v1. + /// + [Endpoint("carte_vitale", "1")] + public sealed class CarteVitaleV1Prediction + { + /// + /// The list of the names of the person. + /// + [JsonPropertyName("given_names")] + public List GivenNames { get; set; } + + /// + /// The surname of the person. + /// + [JsonPropertyName("surname")] + public StringField Surname { get; set; } + + /// + /// The social security number. + /// + [JsonPropertyName("social_security")] + public StringField SocialSecurityNumber { get; set; } + + /// + /// The date of issuance of it. + /// + [JsonPropertyName("issuance_date")] + public StringField IssuanceDate { get; set; } + + /// + /// A prettier reprensentation of the current model values. + /// + public override string ToString() + { + StringBuilder result = new StringBuilder("----- FR Carte Vitale V1 -----\n"); + result.Append($"Given names: {string.Join(" ", GivenNames.Select(gn => gn.Value))}\n"); + result.Append($"Surname: {Surname.Value}\n"); + result.Append($"ID Number: {SocialSecurityNumber.Value}\n"); + result.Append($"Issuance date: {IssuanceDate.Value}\n"); + + result.Append("----------------------\n"); + + return SummaryHelper.Clean(result.ToString()); + } + } +} diff --git a/tests/Mindee.UnitTests/Parsing/Cropper/CropperV1Test.cs b/tests/Mindee.UnitTests/Parsing/Cropper/CropperV1Test.cs index 5791d4b1..15dfe00a 100644 --- a/tests/Mindee.UnitTests/Parsing/Cropper/CropperV1Test.cs +++ b/tests/Mindee.UnitTests/Parsing/Cropper/CropperV1Test.cs @@ -14,11 +14,8 @@ public async Task Predict_CheckSummary() var expected = File.ReadAllText("Resources/cropper/response_v1/doc_to_string.txt"); - var indexFilename = expected.IndexOf("Filename"); - var indexEOL = expected.IndexOf("\n", indexFilename); - Assert.Equal( - expected.Remove(indexFilename, indexEOL - indexFilename + 1), + ParsingTestBase.CleaningFilenameFromResult(expected), prediction.Inference.Prediction.ToString()); } @@ -30,11 +27,8 @@ public async Task Predict_CheckSummary_WithMultiplePages() var expected = File.ReadAllText("Resources/cropper/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), + ParsingTestBase.CleaningFilenameFromResult(expected), prediction.Inference.Pages.First().Prediction.ToString()); } diff --git a/tests/Mindee.UnitTests/Parsing/Eu/LicensePlatesV1Test.cs b/tests/Mindee.UnitTests/Parsing/Eu/LicensePlatesV1Test.cs new file mode 100644 index 00000000..522f61df --- /dev/null +++ b/tests/Mindee.UnitTests/Parsing/Eu/LicensePlatesV1Test.cs @@ -0,0 +1,27 @@ +using Mindee.Parsing; +using Mindee.Parsing.LicensePlates; + +namespace Mindee.UnitTests.Parsing.Eu.LicensePlates +{ + [Trait("Category", "EU License plates V1")] + public class LicensePlatesV1Test + { + [Fact] + public async Task Predict_CheckSummary() + { + var mindeeAPi = GetMindeeApiForLicensePlates(); + var prediction = await mindeeAPi.PredictAsync(ParsingTestBase.GetFakePredictParameter()); + + var expected = File.ReadAllText("Resources/eu/license_plate/response_v1/doc_to_string.txt"); + + Assert.Equal( + ParsingTestBase.CleaningFilenameFromResult(expected), + prediction.Inference.Prediction.ToString()); + } + + private MindeeApi GetMindeeApiForLicensePlates(string fileName = "Resources/eu/license_plate/response_v1/complete.json") + { + return ParsingTestBase.GetMindeeApi(fileName); + } + } +} diff --git a/tests/Mindee.UnitTests/Parsing/Fr/CarteVitale/CarteVitaleV1Test.cs b/tests/Mindee.UnitTests/Parsing/Fr/CarteVitale/CarteVitaleV1Test.cs new file mode 100644 index 00000000..ac31b9bf --- /dev/null +++ b/tests/Mindee.UnitTests/Parsing/Fr/CarteVitale/CarteVitaleV1Test.cs @@ -0,0 +1,27 @@ +using Mindee.Parsing; +using Mindee.Parsing.Fr.IdCard; + +namespace Mindee.UnitTests.Parsing.Fr.IdCard +{ + [Trait("Category", "FR Carte Vitale V1")] + public class CarteVitaleV1Test + { + [Fact] + public async Task Predict_CheckSummary() + { + var mindeeAPi = GetMindeeApiForCarteVitale(); + var prediction = await mindeeAPi.PredictAsync(ParsingTestBase.GetFakePredictParameter()); + + var expected = File.ReadAllText("Resources/fr/carte_vitale/response_v1/doc_to_string.txt"); + + Assert.Equal( + ParsingTestBase.CleaningFilenameFromResult(expected), + prediction.Inference.Prediction.ToString()); + } + + private MindeeApi GetMindeeApiForCarteVitale(string fileName = "Resources/fr/carte_vitale/response_v1/complete.json") + { + return ParsingTestBase.GetMindeeApi(fileName); + } + } +} diff --git a/tests/Mindee.UnitTests/Parsing/Fr/IdCard/IdCardV1Test.cs b/tests/Mindee.UnitTests/Parsing/Fr/IdCard/IdCardV1Test.cs index 9d388788..0cce85e7 100644 --- a/tests/Mindee.UnitTests/Parsing/Fr/IdCard/IdCardV1Test.cs +++ b/tests/Mindee.UnitTests/Parsing/Fr/IdCard/IdCardV1Test.cs @@ -34,9 +34,7 @@ public async Task Predict_CheckSummary_WithMultiplePages() private string CleaningResult(string expectedSummary) { - var indexFilename = expectedSummary.IndexOf("Filename"); - var indexFilenameEOL = expectedSummary.IndexOf("\n", indexFilename); - string cleanedSummary = expectedSummary.Remove(indexFilename, indexFilenameEOL - indexFilename + 1); + string cleanedSummary = ParsingTestBase.CleaningFilenameFromResult(expectedSummary); // must be deleted when generic wil be place on the inference node var indexDocumentSide = cleanedSummary.IndexOf("Document side"); diff --git a/tests/Mindee.UnitTests/Parsing/Invoice/InvoiceV3Test.cs b/tests/Mindee.UnitTests/Parsing/Invoice/InvoiceV3Test.cs index 9addeaf8..e42f85ac 100644 --- a/tests/Mindee.UnitTests/Parsing/Invoice/InvoiceV3Test.cs +++ b/tests/Mindee.UnitTests/Parsing/Invoice/InvoiceV3Test.cs @@ -14,11 +14,8 @@ public async Task Predict_CheckSummary() var expected = File.ReadAllText("Resources/invoice/response_v3/doc_to_string.txt"); - var indexFilename = expected.IndexOf("Filename"); - var indexEOL = expected.IndexOf("\n", indexFilename); - Assert.Equal( - expected.Remove(indexFilename, indexEOL - indexFilename + 1), + ParsingTestBase.CleaningFilenameFromResult(expected), prediction.Inference.Prediction.ToString()); } diff --git a/tests/Mindee.UnitTests/Parsing/Invoice/InvoiceV4Test.cs b/tests/Mindee.UnitTests/Parsing/Invoice/InvoiceV4Test.cs index b90262de..74ba4fe3 100644 --- a/tests/Mindee.UnitTests/Parsing/Invoice/InvoiceV4Test.cs +++ b/tests/Mindee.UnitTests/Parsing/Invoice/InvoiceV4Test.cs @@ -14,11 +14,8 @@ public async Task Predict_CheckSummary() var expected = File.ReadAllText("Resources/invoice/response_v4/doc_to_string.txt"); - var indexFilename = expected.IndexOf("Filename"); - var indexEOL = expected.IndexOf("\n", indexFilename); - Assert.Equal( - expected.Remove(indexFilename, indexEOL - indexFilename + 1), + ParsingTestBase.CleaningFilenameFromResult(expected), prediction.Inference.Prediction.ToString()); } @@ -30,11 +27,8 @@ public async Task Predict_CheckSummary_WithMultiplePages() var expected = File.ReadAllText("Resources/invoice/response_v4/page0_to_string.txt"); - var indexFilename = expected.IndexOf("Filename"); - var indexEOL = expected.IndexOf("\n", indexFilename); - Assert.Equal( - expected.Remove(indexFilename, indexEOL - indexFilename + 1), + ParsingTestBase.CleaningFilenameFromResult(expected), prediction.Inference.Pages.First().Prediction.ToString()); } diff --git a/tests/Mindee.UnitTests/Parsing/ParsingTestBase.cs b/tests/Mindee.UnitTests/Parsing/ParsingTestBase.cs index f0a98018..90e3d273 100644 --- a/tests/Mindee.UnitTests/Parsing/ParsingTestBase.cs +++ b/tests/Mindee.UnitTests/Parsing/ParsingTestBase.cs @@ -5,7 +5,7 @@ namespace Mindee.UnitTests.Parsing { - public static class ParsingTestBase + internal static class ParsingTestBase { internal static PredictParameter GetFakePredictParameter() { @@ -27,5 +27,14 @@ internal static MindeeApi GetMindeeApi(string fileName) mockHttp ); } + + public static string CleaningFilenameFromResult(string expectedSummary) + { + var indexFilename = expectedSummary.IndexOf("Filename"); + var indexFilenameEOL = expectedSummary.IndexOf("\n", indexFilename); + string cleanedSummary = expectedSummary.Remove(indexFilename, indexFilenameEOL - indexFilename + 1); + + return cleanedSummary; + } } } diff --git a/tests/Mindee.UnitTests/Parsing/Passport/PassportV1Test.cs b/tests/Mindee.UnitTests/Parsing/Passport/PassportV1Test.cs index 4e678895..f2e451f3 100644 --- a/tests/Mindee.UnitTests/Parsing/Passport/PassportV1Test.cs +++ b/tests/Mindee.UnitTests/Parsing/Passport/PassportV1Test.cs @@ -14,11 +14,8 @@ public async Task Predict_CheckSummary() var expected = File.ReadAllText("Resources/passport/response_v1/doc_to_string.txt"); - var indexFilename = expected.IndexOf("Filename"); - var indexEOL = expected.IndexOf("\n", indexFilename); - Assert.Equal( - expected.Remove(indexFilename, indexEOL - indexFilename + 1), + ParsingTestBase.CleaningFilenameFromResult(expected), prediction.Inference.Prediction.ToString()); } @@ -30,11 +27,8 @@ public async Task Predict_CheckSummary_WithMultiplePages() 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), + ParsingTestBase.CleaningFilenameFromResult(expected), prediction.Inference.Pages.First().Prediction.ToString()); } diff --git a/tests/Mindee.UnitTests/Parsing/Receipt/ReceiptV4Test.cs b/tests/Mindee.UnitTests/Parsing/Receipt/ReceiptV4Test.cs index 4e252ece..3330fbea 100644 --- a/tests/Mindee.UnitTests/Parsing/Receipt/ReceiptV4Test.cs +++ b/tests/Mindee.UnitTests/Parsing/Receipt/ReceiptV4Test.cs @@ -14,11 +14,8 @@ public async Task Predict_CheckSummary() var expected = File.ReadAllText("Resources/receipt/response_v4/doc_to_string.txt"); - var indexFilename = expected.IndexOf("Filename"); - var indexEOL = expected.IndexOf("\n", indexFilename); - Assert.Equal( - expected.Remove(indexFilename, indexEOL - indexFilename + 1), + ParsingTestBase.CleaningFilenameFromResult(expected), prediction.Inference.Prediction.ToString()); } @@ -30,11 +27,8 @@ public async Task Predict_CheckSummary_WithMultiplePages() var expected = File.ReadAllText("Resources/receipt/response_v4/page0_to_string.txt"); - var indexFilename = expected.IndexOf("Filename"); - var indexEOL = expected.IndexOf("\n", indexFilename); - Assert.Equal( - expected.Remove(indexFilename, indexEOL - indexFilename + 1), + ParsingTestBase.CleaningFilenameFromResult(expected), prediction.Inference.Pages.First().Prediction.ToString()); } diff --git a/tests/Mindee.UnitTests/Parsing/ShippingContainer/ShippingContainerV1Test.cs b/tests/Mindee.UnitTests/Parsing/ShippingContainer/ShippingContainerV1Test.cs index 93826f07..59576fef 100644 --- a/tests/Mindee.UnitTests/Parsing/ShippingContainer/ShippingContainerV1Test.cs +++ b/tests/Mindee.UnitTests/Parsing/ShippingContainer/ShippingContainerV1Test.cs @@ -15,19 +15,10 @@ public async Task Predict_CheckSummary() var expected = File.ReadAllText("Resources/shipping_container/response_v1/doc_to_string.txt"); Assert.Equal( - CleaningResult(expected), + ParsingTestBase.CleaningFilenameFromResult(expected), prediction.Inference.Prediction.ToString()); } - private string CleaningResult(string expectedSummary) - { - var indexFilename = expectedSummary.IndexOf("Filename"); - var indexFilenameEOL = expectedSummary.IndexOf("\n", indexFilename); - string cleanedSummary = expectedSummary.Remove(indexFilename, indexFilenameEOL - indexFilename + 1); - - return cleanedSummary; - } - private MindeeApi GetMindeeApiForCarteVitale(string fileName = "Resources/shipping_container/response_v1/complete.json") { return ParsingTestBase.GetMindeeApi(fileName); diff --git a/tests/Mindee.UnitTests/Parsing/Us/BankCheckV1Test.cs b/tests/Mindee.UnitTests/Parsing/Us/BankCheckV1Test.cs index ccdfb98d..5cbb3d54 100644 --- a/tests/Mindee.UnitTests/Parsing/Us/BankCheckV1Test.cs +++ b/tests/Mindee.UnitTests/Parsing/Us/BankCheckV1Test.cs @@ -15,19 +15,10 @@ public async Task Predict_CheckSummary() var expected = File.ReadAllText("Resources/us/bank_check/response_v1/doc_to_string.txt"); Assert.Equal( - CleaningResult(expected), + ParsingTestBase.CleaningFilenameFromResult(expected), prediction.Inference.Prediction.ToString()); } - private string CleaningResult(string expectedSummary) - { - var indexFilename = expectedSummary.IndexOf("Filename"); - var indexFilenameEOL = expectedSummary.IndexOf("\n", indexFilename); - string cleanedSummary = expectedSummary.Remove(indexFilename, indexFilenameEOL - indexFilename + 1); - - return cleanedSummary; - } - private MindeeApi GetMindeeApiForCarteVitale(string fileName = "Resources/us/bank_check/response_v1/complete.json") { return ParsingTestBase.GetMindeeApi(fileName);