Skip to content

Commit 5a1110b

Browse files
committed
Add Unit Tests
1 parent a10b1d1 commit 5a1110b

File tree

3 files changed

+77
-0
lines changed

3 files changed

+77
-0
lines changed

UnitTest/RequestTest.cs

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
using Requests;
2+
3+
namespace UnitTest
4+
{
5+
[TestClass]
6+
public class RequestTest
7+
{
8+
[TestMethod]
9+
public async Task ContainerTaskRemoveTest()
10+
{
11+
RequestContainer<OwnRequest> container = new();
12+
OwnRequest longRequest = new(async (token) => { await Task.Delay(10000); return true; });
13+
OwnRequest request = new(async (token) => { await Task.Delay(5000); return true; });
14+
container.Add(new OwnRequest(async (token) => { await Task.Delay(3000); return true; }));
15+
_ = Task.Run(async () => { await Task.Delay(2000); container.Add(longRequest); });
16+
_ = Task.Run(async () => { await Task.Delay(2000); container.Add(request); });
17+
_ = Task.Run(async () => { await Task.Delay(800); container.Remove(longRequest); });
18+
await container.Task;
19+
Console.WriteLine("Long Request State: " + longRequest.State);
20+
Console.WriteLine("Container State: " + container.State);
21+
}
22+
23+
[TestMethod]
24+
public async Task ContainerTaskTest()
25+
{
26+
RequestContainer<OwnRequest> container = new();
27+
OwnRequest longRequest = new(async (token) => { await Task.Delay(10000); return true; });
28+
OwnRequest request = new(async (token) => { await Task.Delay(5000); return true; });
29+
container.Add(new OwnRequest(async (token) => { await Task.Delay(3000); return true; }));
30+
_ = Task.Run(async () => { await Task.Delay(2000); container.Add(longRequest); });
31+
_ = Task.Run(async () => { await Task.Delay(2000); container.Add(request); });
32+
await container.Task;
33+
Console.WriteLine("Long Request State: " + longRequest.State);
34+
Console.WriteLine("Container State: " + container.State);
35+
}
36+
37+
[TestMethod]
38+
public async Task ContainerTaskFinishedTest()
39+
{
40+
RequestContainer<OwnRequest> container = new();
41+
OwnRequest longRequest = new(async (token) => { await Task.Delay(10000); return true; });
42+
container.Add(new(async (token) => { await Task.Delay(3000); return true; }));
43+
container.Add(new OwnRequest(async (token) => { await Task.Delay(1000); return true; }));
44+
await container.Task;
45+
Console.WriteLine("Long Request State: " + longRequest.State);
46+
Console.WriteLine("Container State: " + container.State);
47+
container.Add(longRequest);
48+
Console.WriteLine("Container State: " + container.State);
49+
await container.Task;
50+
Console.WriteLine("End Container State: " + container.State);
51+
Console.WriteLine("Long Request State: " + longRequest.State);
52+
}
53+
}
54+
}

UnitTest/UnitTest.csproj

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
<Project Sdk="Microsoft.NET.Sdk">
2+
3+
<PropertyGroup>
4+
<TargetFramework>net6.0</TargetFramework>
5+
<ImplicitUsings>enable</ImplicitUsings>
6+
<Nullable>enable</Nullable>
7+
8+
<IsPackable>false</IsPackable>
9+
</PropertyGroup>
10+
11+
<ItemGroup>
12+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.3.2" />
13+
<PackageReference Include="MSTest.TestAdapter" Version="2.2.10" />
14+
<PackageReference Include="MSTest.TestFramework" Version="2.2.10" />
15+
<PackageReference Include="coverlet.collector" Version="3.1.2" />
16+
</ItemGroup>
17+
18+
<ItemGroup>
19+
<ProjectReference Include="..\Requests\Requests.csproj" />
20+
</ItemGroup>
21+
22+
</Project>

UnitTest/Usings.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
global using Microsoft.VisualStudio.TestTools.UnitTesting;

0 commit comments

Comments
 (0)