Finalize phase 3 mana critical imports
This commit is contained in:
@@ -18,6 +18,7 @@ public sealed class StandardCriticalTableParserIntegrationTests
|
||||
"krush",
|
||||
"ma-strikes",
|
||||
"ma-sweeps",
|
||||
"mana",
|
||||
"puncture",
|
||||
"slash",
|
||||
"subdual",
|
||||
@@ -41,6 +42,8 @@ public sealed class StandardCriticalTableParserIntegrationTests
|
||||
yield return ["ballistic-shrapnel", "86-90", "E", "destroy his heart"];
|
||||
yield return ["arcane-aether", "96-99", "E", "smoking pulp"];
|
||||
yield return ["ma-strikes", "96-99", "E", "drives bone into brain"];
|
||||
yield return ["mana", "96-99", "E", "momentarily transformed"];
|
||||
yield return ["mana", "100", "E", "Mana consumes everything"];
|
||||
yield return ["tiny", "100", "E", "Vein and artery severed"];
|
||||
}
|
||||
|
||||
@@ -104,6 +107,36 @@ public sealed class StandardCriticalTableParserIntegrationTests
|
||||
Assert.StartsWith("You recover from your initial swing", result.RawCellText, StringComparison.Ordinal);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Mana_boundary_repair_keeps_96_99_and_100_cells_separated()
|
||||
{
|
||||
var entry = LoadManifest().Tables.Single(item => string.Equals(item.Slug, "mana", StringComparison.Ordinal));
|
||||
var parseResult = await LoadParseResultAsync(entry);
|
||||
var row96E = parseResult.Table.Results.Single(item =>
|
||||
string.Equals(item.RollBandLabel, "96-99", StringComparison.Ordinal) &&
|
||||
string.Equals(item.ColumnKey, "E", StringComparison.Ordinal));
|
||||
var row100E = parseResult.Table.Results.Single(item =>
|
||||
string.Equals(item.RollBandLabel, "100", StringComparison.Ordinal) &&
|
||||
string.Equals(item.ColumnKey, "E", StringComparison.Ordinal));
|
||||
|
||||
Assert.Contains("momentarily transformed", row96E.DescriptionText, StringComparison.OrdinalIgnoreCase);
|
||||
Assert.DoesNotContain("Mana consumes everything", row96E.DescriptionText, StringComparison.OrdinalIgnoreCase);
|
||||
Assert.StartsWith("Mana consumes everything.", row100E.DescriptionText, StringComparison.Ordinal);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task Mana_symbol_only_affix_lines_do_not_pollute_descriptions()
|
||||
{
|
||||
var entry = LoadManifest().Tables.Single(item => string.Equals(item.Slug, "mana", StringComparison.Ordinal));
|
||||
var parseResult = await LoadParseResultAsync(entry);
|
||||
var row100C = parseResult.Table.Results.Single(item =>
|
||||
string.Equals(item.RollBandLabel, "100", StringComparison.Ordinal) &&
|
||||
string.Equals(item.ColumnKey, "C", StringComparison.Ordinal));
|
||||
|
||||
Assert.DoesNotContain('\uF052', row100C.DescriptionText);
|
||||
Assert.DoesNotContain('\uF06C', row100C.DescriptionText);
|
||||
}
|
||||
|
||||
private static async Task<StandardCriticalTableParseResult> LoadParseResultAsync(CriticalImportManifestEntry entry)
|
||||
{
|
||||
var xmlPath = Path.Combine(GetArtifactCacheRoot(), $"{entry.Slug}.xml");
|
||||
|
||||
Reference in New Issue
Block a user