Mercurial > pub > ImplabNet
diff Implab.Test/RunnableComponentTests.cs @ 259:7d52dc684bbd v3
PollingComponent: implemented correct stopping
author | cin |
---|---|
date | Fri, 13 Apr 2018 03:57:39 +0300 |
parents | |
children | 547a2fc0d93e |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/Implab.Test/RunnableComponentTests.cs Fri Apr 13 03:57:39 2018 +0300 @@ -0,0 +1,42 @@ +using System; +using System.Threading; +using System.Threading.Tasks; +using Implab.Components; +using Xunit; + +namespace Implab.Test +{ + class TimeLog : PollingComponent { + public TimeLog() : base(true) { + } + + protected override Task Poll(CancellationToken ct) { + Console.WriteLine("Poll"); + return Task.CompletedTask; + } + } + + public class UnitTest1 + { + [Fact] + public async Task Test1() + { + + using(var tl = new TimeLog()) { + tl.StateChanged += (self, args) => Console.WriteLine("{0}", args.State); + tl.Delay = 1000; + tl.Interval = 500; + + + tl.Start(CancellationToken.None); + await tl.Completion; + + await Task.Delay(2000); + + tl.Stop(CancellationToken.None); + await tl.Completion; + await Task.Delay(3000); + } + } + } +}