コード例 #1
0
 public async void WaitValueDocTest()
 {
     {
         var v = new WaitValue <int>(0);
         _ = Task.Run(async() =>
         {
             await Task.Delay(TimeSpan.FromMilliseconds(100));
             v.Value = 1;
         });
         if (await v.WaitValueAsync(1, TimeSpan.FromSeconds(1)) is var result && result)
         {
             Debug.WriteLine("Value Changed to 1");
         }
コード例 #2
0
        public async void FlowExtensionsTest()
        {
            var v = new WaitValue <DayOfWeek>(DayOfWeek.Monday);

            _ = Task.Run(async() =>
            {
                await Task.Delay(TimeSpan.FromMilliseconds(100));
                v.Value = DayOfWeek.Friday;
            });
            await v.WaitValuesAsync(fluent.@params(DayOfWeek.Monday, DayOfWeek.Friday));

            v.Value = DayOfWeek.Sunday;
            _       = Task.Run(async() =>
            {
                await Task.Delay(TimeSpan.FromMilliseconds(100));
                v.Value = DayOfWeek.Friday;
            });
            await v.WaitValueAsync(fluent.@params(DayOfWeek.Monday, DayOfWeek.Friday));
        }
コード例 #3
0
        public async void WaitValueTest()
        {
            var v = new WaitValue <DayOfWeek>(DayOfWeek.Sunday);

            _ = Task.Run(async() =>
            {
                foreach (var dayOfWeek in fluent.Enum.Values <DayOfWeek>())
                {
                    await Task.Delay(TimeSpan.FromMilliseconds(100));
                    v.Value = dayOfWeek;
                }
            });
            Assert.True(await v.WaitValueAsync(DayOfWeek.Monday, TimeSpan.FromSeconds(1)));
            Assert.True(await v.WaitValueAsync(DayOfWeek.Monday, DayOfWeek.Tuesday, TimeSpan.FromSeconds(1)));
            Assert.True(await v.WaitValueAsync(DayOfWeek.Monday, DayOfWeek.Tuesday, DayOfWeek.Wednesday, TimeSpan.FromSeconds(1)));
            Assert.True(await v.WaitValueAsync(DayOfWeek.Monday, DayOfWeek.Tuesday, DayOfWeek.Wednesday, DayOfWeek.Thursday, TimeSpan.FromSeconds(1)));
            Assert.True(await v.WaitValueAsync(DayOfWeek.Monday, DayOfWeek.Tuesday, DayOfWeek.Wednesday, DayOfWeek.Thursday, DayOfWeek.Friday, TimeSpan.FromSeconds(1)));
            Assert.True(await v.WaitValueAsync(fluent.Enum.Values <DayOfWeek>().ToArray(), TimeSpan.FromSeconds(1)));
        }