feat: summarize published EM observation trajectories
This commit is contained in:
@@ -32,6 +32,7 @@ internal static class TrajectoryObservationChecks
|
||||
VerifiesLsAndStUsePublishedTrajectoryData();
|
||||
VerifiesPresentationTextDescribesObservationWithoutSendingCommand();
|
||||
VerifiesPlanningDiagnosticsKeepRawFailureReason();
|
||||
VerifiesPublishedPlanningDiagnosticsIncludeTrajectorySummary();
|
||||
VerifiesEmptyChartsReceivePersistentPlanningDiagnostic();
|
||||
VerifiesLsPresentationUsesPathSOnHorizontalAxis();
|
||||
VerifiesRollingRequestUsesOnePublishedTrajectorySnapshot();
|
||||
@@ -595,12 +596,34 @@ internal static class TrajectoryObservationChecks
|
||||
Verification.True(diagnostic.Text.Contains("elapsed=18ms"), "diagnostic preserves elapsed time");
|
||||
Verification.True(diagnostic.Text.Contains("reason=map=3;reference=diagnostic-reference"),
|
||||
"diagnostic preserves planner failure reason");
|
||||
Verification.True(!diagnostic.Text.Contains("trajectory summary:"),
|
||||
"failed diagnostic has no stale trajectory summary");
|
||||
|
||||
TrajectoryObservationDiagnostic pending = TrajectoryObservationDiagnostics.Create(
|
||||
null, TimeSpan.Zero, true, null);
|
||||
Verification.Equal("planning status=pending", pending.Text, "diagnostic reports pending before completion");
|
||||
}
|
||||
|
||||
private static void VerifiesPublishedPlanningDiagnosticsIncludeTrajectorySummary()
|
||||
{
|
||||
DateTimeOffset effectiveAt = new DateTimeOffset(2026, 8, 5, 0, 0, 0, TimeSpan.Zero);
|
||||
EmTrajectory trajectory = CreatePublishedTrajectory(effectiveAt);
|
||||
var succeeded = new PlanningCycleResult(9L,
|
||||
new PlanningCycleIdentity(1L, "summary-reference", 2L, string.Empty, 0),
|
||||
new EmPlanningResult(EmPlanningStatus.Success, trajectory, string.Empty), true, string.Empty);
|
||||
|
||||
string text = TrajectoryObservationDiagnostics.Create(
|
||||
succeeded, TimeSpan.FromMilliseconds(12d), false, trajectory).Text;
|
||||
foreach (string expected in new[]
|
||||
{
|
||||
"trajectory summary:", "trajectoryId=observer-published", "points=2", "duration=1.000s",
|
||||
"pathLength=1.000m", "maxSpeed=0.400m/s", "maxAcceleration=0.200m/s2", "maxJerk=0.000m/s3",
|
||||
})
|
||||
{
|
||||
Verification.True(text.Contains(expected), "published diagnostic includes " + expected);
|
||||
}
|
||||
}
|
||||
|
||||
private static void VerifiesEmptyChartsReceivePersistentPlanningDiagnostic()
|
||||
{
|
||||
string presentationPath = Path.Combine(Directory.GetCurrentDirectory(), "ClumsyPilot",
|
||||
|
||||
Reference in New Issue
Block a user