using ProSol.Html.Contracts.Data; namespace ProSol.Html.Tests.TestHelpers; internal class TagsProviderListener : IObserver { IDisposable? unsubscriber; HashSet messages = new(); public ProcessedTag[] ProcessedTags => [.. messages .Select(x => x.CurrentTag)]; public TagsProviderMessage[] Messages => [.. messages]; public void Subscribe(IObservable source) { unsubscriber = source.Subscribe(this); } public void OnCompleted() { unsubscriber?.Dispose(); } public void OnError(Exception error) { } public void OnNext(TagsProviderMessage value) { messages.Add(value); } }