Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
34 changes: 34 additions & 0 deletions src/Mindee/Parsing/Eu/LicensePlatesV1Prediction.cs
Original file line number Diff line number Diff line change
@@ -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
{
/// <summary>
/// The eu licence plates model for the v1.
/// </summary>
[Endpoint("license_plates", "1")]
public sealed class LicensePlatesV1Prediction : PredictionBase
{
/// <summary>
/// A list of license plates values.
/// </summary>
[JsonPropertyName("license_plates")]
public IList<StringField> LicensePlates { get; set; } = new List<StringField>();

/// <summary>
/// A prettier reprensentation of the current model values.
/// </summary>
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());
}
}
}
55 changes: 55 additions & 0 deletions src/Mindee/Parsing/Fr/CarteVitale/CarteVitaleV1Prediction.cs
Original file line number Diff line number Diff line change
@@ -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
{
/// <summary>
/// The french carte vitale model for the v1.
/// </summary>
[Endpoint("carte_vitale", "1")]
public sealed class CarteVitaleV1Prediction
{
/// <summary>
/// The list of the names of the person.
/// </summary>
[JsonPropertyName("given_names")]
public List<StringField> GivenNames { get; set; }

/// <summary>
/// The surname of the person.
/// </summary>
[JsonPropertyName("surname")]
public StringField Surname { get; set; }

/// <summary>
/// The social security number.
/// </summary>
[JsonPropertyName("social_security")]
public StringField SocialSecurityNumber { get; set; }

/// <summary>
/// The date of issuance of it.
/// </summary>
[JsonPropertyName("issuance_date")]
public StringField IssuanceDate { get; set; }

/// <summary>
/// A prettier reprensentation of the current model values.
/// </summary>
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());
}
}
}
10 changes: 2 additions & 8 deletions tests/Mindee.UnitTests/Parsing/Cropper/CropperV1Test.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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());
}

Expand All @@ -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());
}

Expand Down
27 changes: 27 additions & 0 deletions tests/Mindee.UnitTests/Parsing/Eu/LicensePlatesV1Test.cs
Original file line number Diff line number Diff line change
@@ -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<LicensePlatesV1Prediction>(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);
}
}
}
27 changes: 27 additions & 0 deletions tests/Mindee.UnitTests/Parsing/Fr/CarteVitale/CarteVitaleV1Test.cs
Original file line number Diff line number Diff line change
@@ -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<CarteVitaleV1Prediction>(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);
}
}
}
4 changes: 1 addition & 3 deletions tests/Mindee.UnitTests/Parsing/Fr/IdCard/IdCardV1Test.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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");
Expand Down
5 changes: 1 addition & 4 deletions tests/Mindee.UnitTests/Parsing/Invoice/InvoiceV3Test.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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());
}

Expand Down
10 changes: 2 additions & 8 deletions tests/Mindee.UnitTests/Parsing/Invoice/InvoiceV4Test.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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());
}

Expand All @@ -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());
}

Expand Down
11 changes: 10 additions & 1 deletion tests/Mindee.UnitTests/Parsing/ParsingTestBase.cs
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

namespace Mindee.UnitTests.Parsing
{
public static class ParsingTestBase
internal static class ParsingTestBase
{
internal static PredictParameter GetFakePredictParameter()
{
Expand All @@ -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;
}
}
}
10 changes: 2 additions & 8 deletions tests/Mindee.UnitTests/Parsing/Passport/PassportV1Test.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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());
}

Expand All @@ -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());
}

Expand Down
10 changes: 2 additions & 8 deletions tests/Mindee.UnitTests/Parsing/Receipt/ReceiptV4Test.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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());
}

Expand All @@ -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());
}

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down
11 changes: 1 addition & 10 deletions tests/Mindee.UnitTests/Parsing/Us/BankCheckV1Test.cs
Original file line number Diff line number Diff line change
Expand Up @@ -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);
Expand Down