You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
60 lines
1.6 KiB
60 lines
1.6 KiB
using System;
|
|
using System.Threading;
|
|
using Pfr.Services.Scheduler;
|
|
using Xunit;
|
|
|
|
namespace Pfr.Services.SchedulerTests
|
|
{
|
|
public class SchedulerTests
|
|
{
|
|
private TimeExec _te;
|
|
private int _CntExec = 0;
|
|
|
|
public TimeExec GetTimeExec(int pSec)
|
|
{
|
|
TimeExec _TimeExec = new TimeExec();
|
|
DateTime _dateTime = DateTime.Now.AddSeconds(pSec);
|
|
_TimeExec.Hour = _dateTime.Hour;
|
|
_TimeExec.Minute = _dateTime.Minute;
|
|
return _TimeExec;
|
|
}
|
|
|
|
[Fact()]
|
|
public void SchedulerTest()
|
|
{
|
|
_te = GetTimeExec(2);
|
|
Scheduler.Scheduler _Scheduler = new Scheduler.Scheduler(_te);
|
|
_Scheduler.OnExecute += OnExecMetod;
|
|
Thread.Sleep(4000);
|
|
}
|
|
|
|
private void OnExecMetod(DateTime pDateTimeExec)
|
|
{
|
|
Assert.Equal(pDateTimeExec.Hour, DateTime.Now.Hour);
|
|
Assert.Equal(pDateTimeExec.Minute, DateTime.Now.Minute);
|
|
}
|
|
|
|
[Fact()]
|
|
public void Scheduler_Empty_OnExecute_Test()
|
|
{
|
|
_te = GetTimeExec(2);
|
|
Scheduler.Scheduler _Scheduler = new Scheduler.Scheduler(_te);
|
|
Thread.Sleep(4000);
|
|
}
|
|
|
|
[Fact()]
|
|
public void Scheduler_One_Exec_Test()
|
|
{
|
|
_te = GetTimeExec(60);
|
|
Scheduler.Scheduler _Scheduler = new Scheduler.Scheduler(_te);
|
|
_Scheduler.OnExecute += OnExec;
|
|
Thread.Sleep(12000);
|
|
Assert.Equal(_CntExec, 1);
|
|
}
|
|
|
|
private void OnExec(DateTime pDateTimeExec)
|
|
{
|
|
_CntExec += 1;
|
|
}
|
|
}
|
|
} |