ProSol.Html.TagsProvider/tests/TestHelpers/TagsProviderListener.cs
Alexander Kozachenko 9de6c3a49f Fixed TagsProvider
2023-12-02 19:30:02 +03:00

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