using System; using System.Threading; using System.Threading.Tasks; using Implab.Components; namespace Implab.Test { public class MockPollComponent : PollingComponent { public Func PollWorker { get; set;} public Func StartWorker { get; set; } public Func StopWorker { get; set; } public MockPollComponent(bool initialized) : base(initialized) { } protected async override Task Poll(CancellationToken ct) { if(PollWorker!= null) await PollWorker.Invoke(ct); } protected async override Task StopInternalAsync(CancellationToken ct) { await base.StopInternalAsync(ct); if (StopWorker != null) await StopWorker.Invoke(ct); } protected async override Task StartInternalAsync(CancellationToken ct) { await base.StartInternalAsync(ct); if (StartWorker != null) await StartWorker.Invoke(ct); } } }