Files
Ludarium release export df869819ce
Public source validation / source (push) Successful in 2m16s
Publish Ludarium source
2026-09-03 02:08:58 +02:00

46 lines
2.0 KiB
C#

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);
}
}