.
This commit is contained in:
parent
0801ceee6a
commit
54ba7496c6
19 changed files with 1765 additions and 591 deletions
|
|
@ -15,14 +15,14 @@ public class RobustnessAnalysisTests : IDisposable
|
|||
{
|
||||
private readonly ITestOutputHelper _output;
|
||||
private readonly string _dbPath;
|
||||
private readonly CardHashDatabase _database;
|
||||
private readonly CardDatabase _database;
|
||||
private readonly CardRecognitionService _recognitionService;
|
||||
|
||||
public RobustnessAnalysisTests(ITestOutputHelper output)
|
||||
{
|
||||
_output = output;
|
||||
_dbPath = Path.Combine(Path.GetTempPath(), $"scry_robustness_test_{Guid.NewGuid()}.db");
|
||||
_database = new CardHashDatabase(_dbPath);
|
||||
_database = new CardDatabase(_dbPath);
|
||||
_recognitionService = new CardRecognitionService(_database);
|
||||
}
|
||||
|
||||
|
|
@ -52,11 +52,16 @@ public class RobustnessAnalysisTests : IDisposable
|
|||
var originalHash = _recognitionService.ComputeHash(original);
|
||||
|
||||
// Register original in database
|
||||
await _database.InsertHashAsync(new CardHash
|
||||
await _database.InsertOracleAsync(new Oracle { Id = "oracle-serra", Name = "Serra Angel" });
|
||||
await _database.InsertSetAsync(new Set { Id = "set-lea", Code = "LEA", Name = "Alpha" });
|
||||
|
||||
await _database.InsertCardAsync(new Card
|
||||
{
|
||||
CardId = "serra-angel",
|
||||
Name = "Serra Angel",
|
||||
Id = "serra-angel",
|
||||
OracleId = "oracle-serra",
|
||||
SetId = "set-lea",
|
||||
SetCode = "LEA",
|
||||
Name = "Serra Angel",
|
||||
Hash = originalHash
|
||||
});
|
||||
await _recognitionService.InvalidateCacheAsync();
|
||||
|
|
@ -113,11 +118,16 @@ public class RobustnessAnalysisTests : IDisposable
|
|||
|
||||
var originalHash = _recognitionService.ComputeHash(original);
|
||||
|
||||
await _database.InsertHashAsync(new CardHash
|
||||
await _database.InsertOracleAsync(new Oracle { Id = "oracle-serra", Name = "Serra Angel" });
|
||||
await _database.InsertSetAsync(new Set { Id = "set-lea", Code = "LEA", Name = "Alpha" });
|
||||
|
||||
await _database.InsertCardAsync(new Card
|
||||
{
|
||||
CardId = "serra-angel",
|
||||
Name = "Serra Angel",
|
||||
Id = "serra-angel",
|
||||
OracleId = "oracle-serra",
|
||||
SetId = "set-lea",
|
||||
SetCode = "LEA",
|
||||
Name = "Serra Angel",
|
||||
Hash = originalHash
|
||||
});
|
||||
await _recognitionService.InvalidateCacheAsync();
|
||||
|
|
@ -167,11 +177,16 @@ public class RobustnessAnalysisTests : IDisposable
|
|||
|
||||
var originalHash = _recognitionService.ComputeHash(original);
|
||||
|
||||
await _database.InsertHashAsync(new CardHash
|
||||
await _database.InsertOracleAsync(new Oracle { Id = "oracle-serra", Name = "Serra Angel" });
|
||||
await _database.InsertSetAsync(new Set { Id = "set-lea", Code = "LEA", Name = "Alpha" });
|
||||
|
||||
await _database.InsertCardAsync(new Card
|
||||
{
|
||||
CardId = "serra-angel",
|
||||
Name = "Serra Angel",
|
||||
Id = "serra-angel",
|
||||
OracleId = "oracle-serra",
|
||||
SetId = "set-lea",
|
||||
SetCode = "LEA",
|
||||
Name = "Serra Angel",
|
||||
Hash = originalHash
|
||||
});
|
||||
await _recognitionService.InvalidateCacheAsync();
|
||||
|
|
@ -218,11 +233,16 @@ public class RobustnessAnalysisTests : IDisposable
|
|||
|
||||
var originalHash = _recognitionService.ComputeHash(original);
|
||||
|
||||
await _database.InsertHashAsync(new CardHash
|
||||
await _database.InsertOracleAsync(new Oracle { Id = "oracle-serra", Name = "Serra Angel" });
|
||||
await _database.InsertSetAsync(new Set { Id = "set-lea", Code = "LEA", Name = "Alpha" });
|
||||
|
||||
await _database.InsertCardAsync(new Card
|
||||
{
|
||||
CardId = "serra-angel",
|
||||
Name = "Serra Angel",
|
||||
Id = "serra-angel",
|
||||
OracleId = "oracle-serra",
|
||||
SetId = "set-lea",
|
||||
SetCode = "LEA",
|
||||
Name = "Serra Angel",
|
||||
Hash = originalHash
|
||||
});
|
||||
await _recognitionService.InvalidateCacheAsync();
|
||||
|
|
@ -265,11 +285,16 @@ public class RobustnessAnalysisTests : IDisposable
|
|||
|
||||
var originalHash = _recognitionService.ComputeHash(original);
|
||||
|
||||
await _database.InsertHashAsync(new CardHash
|
||||
await _database.InsertOracleAsync(new Oracle { Id = "oracle-serra", Name = "Serra Angel" });
|
||||
await _database.InsertSetAsync(new Set { Id = "set-lea", Code = "LEA", Name = "Alpha" });
|
||||
|
||||
await _database.InsertCardAsync(new Card
|
||||
{
|
||||
CardId = "serra-angel",
|
||||
Name = "Serra Angel",
|
||||
Id = "serra-angel",
|
||||
OracleId = "oracle-serra",
|
||||
SetId = "set-lea",
|
||||
SetCode = "LEA",
|
||||
Name = "Serra Angel",
|
||||
Hash = originalHash
|
||||
});
|
||||
await _recognitionService.InvalidateCacheAsync();
|
||||
|
|
@ -312,14 +337,14 @@ public class RobustnessAnalysisTests : IDisposable
|
|||
return;
|
||||
}
|
||||
|
||||
using var prodDb = new CardHashDatabase(dbPath);
|
||||
using var prodDb = new CardDatabase(dbPath);
|
||||
using var prodRecognition = new CardRecognitionService(prodDb);
|
||||
|
||||
var testImagesDir = Path.Combine(rootDir, "TestImages");
|
||||
var categoriesToTest = new[] { "real_photos", "varying_quality", "angled", "low_light" };
|
||||
|
||||
_output.WriteLine("=== Real-World Recognition Test ===");
|
||||
_output.WriteLine($"Database cards: {(await prodDb.GetAllHashesAsync()).Count}");
|
||||
_output.WriteLine($"Database cards: {(await prodDb.GetCardsWithHashAsync()).Count}");
|
||||
_output.WriteLine("");
|
||||
|
||||
foreach (var category in categoriesToTest)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue