Publish Ludarium source
Public source validation / source (push) Successful in 2m16s

This commit is contained in:
Ludarium release export
2026-09-03 02:08:58 +02:00
commit df869819ce
339 changed files with 46455 additions and 0 deletions
@@ -0,0 +1,45 @@
using Ludarium.Infrastructure;
namespace Ludarium.IntegrationTests;
public sealed class GameArtworkEnricherTests
{
[Theory]
[InlineData("Asterix and Obelix Slap Them All")]
[InlineData("Call of Duty - Black Ops 6")]
[InlineData("Destroy All Humans 2")]
[InlineData("Evil Genius 2 World Domination")]
[InlineData("Life is Strange Reunion Deluxe Edition v1 003 000")]
[InlineData("Life is Strange Reunion Deluxe Edition v1 003 000 PS5-UNLiMiTED")]
[InlineData("PRAGMATA")]
[InlineData("RollerCoaster Tycoon Adventures Deluxe")]
[InlineData("Two Point Museum")]
public void ProductionPs5TitlesHaveProvenanceBackedRetailFallbacks(string title)
{
var source = Assert.IsType<RetailArtworkSource>(GameArtworkEnricher.FindCuratedRetailArtwork(title, "ps5"));
Assert.Equal("WorldOfGames", source.Provider);
Assert.Equal("curated-retailer-platform-box-front", source.MatchMethod);
Assert.StartsWith("https://www.wog.ch/en/index.cfm/details/product/", source.ExternalId);
}
[Fact]
public void CuratedFallbackDoesNotCrossPlatformBoundaries() =>
Assert.Null(GameArtworkEnricher.FindCuratedRetailArtwork("PRAGMATA", "windows"));
[Fact]
public void PsxSerialFallbackRetainsItsArchivalProvenance()
{
var source = Assert.IsType<RetailArtworkSource>(GameArtworkEnricher.FindCuratedRetailArtwork("Disney's A Bug's Life", "psx"));
Assert.Equal("PSXDataCenter", source.Provider);
Assert.Equal("curated-serial-platform-box-front", source.MatchMethod);
Assert.EndsWith("SCUS-94288.html", source.ExternalId);
}
[Fact]
public void DigitalOnlyWindowsReleaseIsExplicitlyNotClaimedAsRetail()
{
var source = Assert.IsType<RetailArtworkSource>(GameArtworkEnricher.FindCuratedRetailArtwork("Movies Tycoon", "windows"));
Assert.Equal("SteamDigital", source.Provider);
Assert.Equal("verified-digital-only-storefront-front", source.MatchMethod);
}
}