52 lines
1.8 KiB
C#
52 lines
1.8 KiB
C#
using RobotNet10.NavigationTune.Shared.Interfaces;
|
|
using RobotNet10.NavigationTune.Shared.Models;
|
|
using BatchTestResult = RobotNet10.NavigationTune.Shared.Models.BatchTestResult;
|
|
using ComparisonResult = RobotNet10.NavigationTune.Shared.Models.ComparisonResult;
|
|
|
|
namespace RobotNet10.NavigationTune.Services;
|
|
|
|
/// <summary>
|
|
/// Main orchestrator for tuning operations
|
|
/// </summary>
|
|
public interface ITuningOrchestrator
|
|
{
|
|
/// <summary>
|
|
/// Start a test and return immediately with testRunId and status Running.
|
|
/// Test runs in background; completion is notified via SignalR (ReceiveTestResult).
|
|
/// Use this for UI single-test execution so Stop/Pause buttons become active right away.
|
|
/// </summary>
|
|
Task<TestExecutionResult> StartTestAsync(
|
|
TestScenario scenario,
|
|
NavigationParameterSet parameters,
|
|
string? connectionId = null,
|
|
Guid? testRunId = null,
|
|
CancellationToken cancellationToken = default
|
|
);
|
|
|
|
Task<TestExecutionResult> RunSingleTestAsync(
|
|
TestScenario scenario,
|
|
NavigationParameterSet parameters,
|
|
string? connectionId = null,
|
|
Guid? testRunId = null,
|
|
CancellationToken cancellationToken = default
|
|
);
|
|
|
|
Task<BatchTestResult> RunBatchTestsAsync(
|
|
List<TestScenario> scenarios,
|
|
NavigationParameterSet parameters,
|
|
CancellationToken cancellationToken = default
|
|
);
|
|
|
|
Task<ComparisonResult> CompareConfigurationsAsync(
|
|
List<NavigationParameterSet> parameterSets,
|
|
TestScenario scenario,
|
|
CancellationToken cancellationToken = default
|
|
);
|
|
|
|
void PauseTest(string testRunId);
|
|
void ResumeTest(string testRunId);
|
|
void StopTest(string testRunId);
|
|
void EmergencyStop(string testRunId);
|
|
}
|
|
|