using NeonSprawl.Server.Game.Encounters; namespace NeonSprawl.Server.Tests.Game.Encounters; internal static class EncounterCatalogTestPaths { internal static string DiscoverRepoRewardTablesDirectory() => RewardTableCatalogPathResolution.TryDiscoverRewardTablesDirectory(AppContext.BaseDirectory) ?? throw new InvalidOperationException( "Could not discover repo content/reward-tables from AppContext.BaseDirectory; run tests from the neon-sprawl clone."); internal static string DiscoverRepoEncountersDirectory() => EncounterCatalogPathResolution.TryDiscoverEncountersDirectory(AppContext.BaseDirectory) ?? throw new InvalidOperationException( "Could not discover repo content/encounters from AppContext.BaseDirectory; run tests from the neon-sprawl clone."); internal static string DiscoverRepoRewardTableDefSchemaPath() => RewardTableCatalogPathResolution.ResolveRewardTableDefSchemaPath( DiscoverRepoRewardTablesDirectory(), configuredSchemaPath: null, contentRootPath: string.Empty); internal static string DiscoverRepoRewardGrantRowSchemaPath() => RewardTableCatalogPathResolution.ResolveRewardGrantRowSchemaPath( DiscoverRepoRewardTablesDirectory(), configuredSchemaPath: null, contentRootPath: string.Empty); internal static string DiscoverRepoEncounterDefSchemaPath() => EncounterCatalogPathResolution.ResolveEncounterDefSchemaPath( DiscoverRepoEncountersDirectory(), configuredSchemaPath: null, contentRootPath: string.Empty); internal static HashSet Slice1KnownItemIds { get; } = [ "scrap_metal_bulk", "refined_plate_stock", "field_stim_mk0", "survey_drone_kit", "contract_handoff_token", "prototype_armor_shell", ]; }