Добавьте файлы проекта.
This commit is contained in:
@@ -0,0 +1,23 @@
|
||||
<Project Sdk="Microsoft.NET.Sdk">
|
||||
|
||||
<PropertyGroup>
|
||||
<TargetFramework>net6.0</TargetFramework>
|
||||
<Nullable>enable</Nullable>
|
||||
|
||||
<IsPackable>false</IsPackable>
|
||||
</PropertyGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="16.11.0" />
|
||||
<PackageReference Include="MSTest.TestAdapter" Version="2.2.7" />
|
||||
<PackageReference Include="MSTest.TestFramework" Version="2.2.7" />
|
||||
<PackageReference Include="coverlet.collector" Version="3.1.0" />
|
||||
<PackageReference Include="xunit" Version="2.4.1" />
|
||||
<PackageReference Include="xunit.runner.visualstudio" Version="2.4.3" />
|
||||
</ItemGroup>
|
||||
|
||||
<ItemGroup>
|
||||
<ProjectReference Include="..\Pfr.Services.Scheduler\Pfr.Services.Scheduler.csproj" />
|
||||
</ItemGroup>
|
||||
|
||||
</Project>
|
||||
64
Pfr.Services.SchedulerTests/SchedulerTests.cs
Normal file
64
Pfr.Services.SchedulerTests/SchedulerTests.cs
Normal file
@@ -0,0 +1,64 @@
|
||||
using Xunit;
|
||||
using Pfr.Services.Scheduler;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Threading;
|
||||
|
||||
namespace Pfr.Services.Scheduler.Tests
|
||||
{
|
||||
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 = new 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 = new Scheduler(_te);
|
||||
Thread.Sleep(4000);
|
||||
}
|
||||
|
||||
[Fact()]
|
||||
public void Scheduler_One_Exec_Test()
|
||||
{
|
||||
_te = GetTimeExec(60);
|
||||
Scheduler _Scheduler = new Scheduler(_te);
|
||||
_Scheduler.OnExecute += OnExec;
|
||||
Thread.Sleep(120000);
|
||||
Assert.Equal(_CntExec, 1);
|
||||
}
|
||||
|
||||
private void OnExec(DateTime pDateTimeExec)
|
||||
{
|
||||
_CntExec += 1;
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user