Generalize Rolemaster standard dice parsing
This commit is contained in:
@@ -7,7 +7,7 @@ public sealed class RolemasterApiTests : ApiTestBase
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public async Task RolemasterRollEndpoints_ExecuteInitiativeAndPercentile()
|
||||
public async Task RolemasterRollEndpoints_ExecuteGenericRolemasterExpressions()
|
||||
{
|
||||
using var factory = CreateFactory(8, 6, 74);
|
||||
using var client = factory.CreateClient(new() { AllowAutoRedirect = false });
|
||||
@@ -17,7 +17,7 @@ public sealed class RolemasterApiTests : ApiTestBase
|
||||
|
||||
var campaign = await PostAsync<CreateCampaignRequest, CampaignSummary>(client, "/api/campaigns", new("Rolemaster", "rolemaster"));
|
||||
var character = await PostAsync<CreateCharacterRequest, CharacterSummary>(client, "/api/characters", new("Hero", campaign.Id));
|
||||
var initiative = await PostAsync<CreateSkillRequest, SkillSummary>(client, $"/api/characters/{character.Id}/skills", new("Initiative", "2d10+48", 0, false));
|
||||
var initiative = await PostAsync<CreateSkillRequest, SkillSummary>(client, $"/api/characters/{character.Id}/skills", new("Healing", "2d10+48", 0, false));
|
||||
var perception = await PostAsync<CreateSkillRequest, SkillSummary>(client, $"/api/characters/{character.Id}/skills", new("Perception", "d100-15", 0, false));
|
||||
|
||||
var initiativeRoll = await PostAsync<RollSkillRequest, RollResult>(client, $"/api/skills/{initiative.Id}/roll", new("public"));
|
||||
@@ -26,15 +26,15 @@ public sealed class RolemasterApiTests : ApiTestBase
|
||||
|
||||
Assert.Equal(62, initiativeRoll.Result);
|
||||
Assert.Equal("8+6+48=62", initiativeRoll.Breakdown);
|
||||
Assert.All(initiativeRoll.Dice, die => Assert.Equal(RollDieKinds.RolemasterInitiative, die.Kind));
|
||||
Assert.All(initiativeRoll.Dice, die => Assert.Equal(RollDieKinds.RolemasterStandard, die.Kind));
|
||||
|
||||
Assert.Equal(59, percentileRoll.Result);
|
||||
Assert.Equal("74-15=59", percentileRoll.Breakdown);
|
||||
Assert.Equal(RollDieKinds.RolemasterPercentile, Assert.Single(percentileRoll.Dice).Kind);
|
||||
Assert.Equal(RollDieKinds.RolemasterStandard, Assert.Single(percentileRoll.Dice).Kind);
|
||||
|
||||
Assert.Equal(2, logPage.Entries.Length);
|
||||
Assert.Equal("8 + 6 | initiative", logPage.Entries[0].SummaryText);
|
||||
Assert.Equal("74 | percentile", logPage.Entries[1].SummaryText);
|
||||
Assert.Equal("8 + 6 | rolemaster", logPage.Entries[0].SummaryText);
|
||||
Assert.Equal("74 | rolemaster", logPage.Entries[1].SummaryText);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
||||
Reference in New Issue
Block a user