using System.Collections.Generic; using Dalamud.Plugin.Services; namespace Dalamud.Plugin.SelfTest; /// /// Interface for registering and unregistering self-test steps from plugins. /// /// /// Registering custom self-test steps for your plugin: /// /// [PluginService] /// public ISelfTestRegistry SelfTestRegistry { get; init; } /// /// // In your plugin initialization /// this.SelfTestRegistry.RegisterTestSteps([ /// new MyCustomSelfTestStep(), /// new AnotherSelfTestStep() /// ]); /// /// /// Creating a custom self-test step: /// /// public class MyCustomSelfTestStep : ISelfTestStep /// { /// public string Name => "My Custom Test"; /// /// public SelfTestStepResult RunStep() /// { /// // Your test logic here /// if (/* test condition passes */) /// return SelfTestStepResult.Pass; /// /// if (/* test condition fails */) /// return SelfTestStepResult.Fail; /// /// // Still waiting for test to complete /// return SelfTestStepResult.Waiting; /// } /// /// public void CleanUp() /// { /// // Clean up any resources used by the test /// } /// } /// /// public interface ISelfTestRegistry : IDalamudService { /// /// Registers the self-test steps for this plugin. /// /// The test steps to register. public void RegisterTestSteps(IEnumerable steps); }