31 lines
689 B
C#
31 lines
689 B
C#
using ProSol.Html.Contracts.Data;
|
|
using ProSol.Messaging;
|
|
|
|
namespace ProSol.Html.Tests.TestHelpers;
|
|
|
|
internal class TagsProviderListener : ISubscriber<TagsProviderMessage>
|
|
{
|
|
IDisposable? unsubscriber;
|
|
HashSet<TagsProviderMessage> messages = new();
|
|
|
|
public ProcessedTag[] ProcessedTags =>
|
|
[.. messages
|
|
.Select(x => x.CurrentTag)];
|
|
|
|
public TagsProviderMessage[] Messages => [.. messages];
|
|
|
|
public void Subscribe(TagsProvider source)
|
|
{
|
|
source.Subscribe(this);
|
|
}
|
|
|
|
public void OnCompleted()
|
|
{
|
|
unsubscriber?.Dispose();
|
|
}
|
|
|
|
public void OnNext(TagsProviderMessage value)
|
|
{
|
|
messages.Add(value);
|
|
}
|
|
} |