43 lines
1.3 KiB
C#
43 lines
1.3 KiB
C#
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
|||
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Linq;
|
|||
|
using System.Text;
|
|||
|
using System.Threading.Tasks;
|
|||
|
|
|||
|
namespace Falcon.SugarApi.Test
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// 任务防抖测试
|
|||
|
/// </summary>
|
|||
|
[TestClass()]
|
|||
|
public class ShakingTests
|
|||
|
{
|
|||
|
/// <summary>
|
|||
|
/// 任务防抖测试
|
|||
|
/// </summary>
|
|||
|
[TestMethod()]
|
|||
|
public void RunTest() {
|
|||
|
var showMsg = () => Console.WriteLine($"{DateTime.Now.ToString("HH:mm:ss")} show message!");
|
|||
|
|
|||
|
var reMsg = () => $"{DateTime.Now.ToString("HH:mm:ss")} show message!";
|
|||
|
|
|||
|
var task = new Task<string>(reMsg);
|
|||
|
int span = 5;
|
|||
|
var shaking = new Shaking(span);
|
|||
|
|
|||
|
//showMsg();
|
|||
|
//await Task.Delay(5 * 1000);
|
|||
|
//shaking.Run(showMsg);
|
|||
|
Console.WriteLine($"以下方法调用3次,应该有两个输出,相隔{span}秒");
|
|||
|
Console.WriteLine(reMsg());
|
|||
|
shaking.Run(task);
|
|||
|
task = new Task<string>(reMsg);
|
|||
|
shaking.Run(task);
|
|||
|
Console.WriteLine($"{DateTime.Now.ToString("HH:mm:ss")} {span}秒后记录第二个输出");
|
|||
|
Console.WriteLine(task.Result);
|
|||
|
Console.WriteLine("任务完成!");
|
|||
|
}
|
|||
|
}
|
|||
|
}
|