using Deal.Api.Services;
using Deal.Modules.Pipeline.Application.Models;
namespace Deal.Tests.Unit.Api;
///
/// Тесты InlineProgress — синхронный IProgress.
///
public sealed class InlineProgressTests
{
[Fact]
public void Report_InvokesHandlerSynchronouslyWithValue()
{
int callerThread = Environment.CurrentManagedThreadId;
int handlerThread = -1;
ReclassifyProgressDto? seen = null;
var progress = new InlineProgress(value =>
{
handlerThread = Environment.CurrentManagedThreadId;
seen = value;
});
var expected = new ReclassifyProgressDto(5, 12, 3, 2, 0, 0);
progress.Report(expected);
Assert.Equal(expected, seen);
Assert.Equal(callerThread, handlerThread);
}
}