Files
riojoy/tests/RioJoy.Core.Tests/Feedback/FeedbackTestHelpers.cs
T
CydandClaude Fable 5 ad7ac19ab2 feedback: game-to-cockpit endpoint (pipe/UDP lamps+plasma), rumble lamp flash
Phase 9: FeedbackPipeServer (\\.\pipe\riojoy-feedback) + loopback UDP share a
forgiving text line protocol into FeedbackRouter; CoalescingLampScheduler rate-
governs the 9600-baud link; plasma finally wired into activation (greeting,
teardown blank, PlasmaDisplay write lock); ViGEm FeedbackReceived drives
RumbleLampAdapter. Per-profile Feedback config, docs/FEEDBACK.md, 425 tests.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-31 19:31:03 -05:00

18 lines
516 B
C#

using Xunit;
namespace RioJoy.Core.Tests.Feedback;
internal static class FeedbackWait
{
/// <summary>Poll until <paramref name="condition"/> holds, failing at the deadline.</summary>
public static async Task For(Func<bool> condition, int timeoutMs = 5000)
{
var deadline = DateTime.UtcNow.AddMilliseconds(timeoutMs);
while (!condition())
{
Assert.True(DateTime.UtcNow < deadline, "condition not reached in time");
await Task.Delay(10);
}
}
}