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);
}
}