Files
MTSC/MTSC.UnitTests/ServerTests.cs
T
amacocian f8cc21e7db Introduce cancellation tokens for server
Update pipelines to .net6
Deprecate netcoreapp2.1 build
2022-01-02 17:14:01 +02:00

39 lines
1009 B
C#

using FluentAssertions;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using MTSC.ServerSide;
using System.Threading;
namespace MTSC.UnitTests
{
[TestClass]
[TestCategory("ServerTests")]
public class ServerTests
{
[TestMethod]
public void Stop()
{
var server = new Server(256);
server.RunAsync();
Thread.Sleep(1000);
Assert.IsTrue(server.Running);
server.Stop();
Thread.Sleep(1000);
Assert.IsFalse(server.Running);
}
[TestMethod]
public void CancellationToken_StopsServer()
{
var server = new Server(256);
var cts = new CancellationTokenSource();
var runningTask = server.RunAsync(cts.Token);
Thread.Sleep(1000);
server.Running.Should().BeTrue();
cts.Cancel();
runningTask.Wait(1000);
runningTask.IsCompleted.Should().BeTrue();
}
}
}