ProSol.Html.TagsProvider/tests/TestHelpers/TagsProviderListener.cs
Alexander Kozachenko fc19e6e4e1 Release v1.0.2
- moved folders around
- provided readme
2023-11-07 16:51:25 +03:00

34 lines
752 B
C#

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