1
0

Updating to VS 2026

This commit is contained in:
2025-11-13 20:30:44 +01:00
parent 1096186c40
commit 1767b55c8a
29 changed files with 230 additions and 277 deletions

View File

@@ -8,6 +8,8 @@ namespace AMWD.Common.Tests.Utilities
[TestClass]
public class AsyncQueueTest
{
public TestContext TestContext { get; set; }
private Queue<TestElement> _internalQueue;
private TestElement _queueElement1;
@@ -52,7 +54,7 @@ namespace AMWD.Common.Tests.Utilities
queue.Enqueue(element);
// assert
Assert.AreEqual(1, _internalQueue.Count);
Assert.HasCount(1, _internalQueue);
Assert.AreEqual(_internalQueue.Count, queue.Count);
}
@@ -69,11 +71,11 @@ namespace AMWD.Common.Tests.Utilities
// act
var task = Task.Run(async () =>
{
await queue.WaitAsync();
await queue.WaitAsync(TestContext.CancellationToken);
available = true;
});
}, TestContext.CancellationToken);
queue.Enqueue(element);
task.Wait();
task.Wait(TestContext.CancellationToken);
// assert
Assert.IsTrue(available);
@@ -92,10 +94,10 @@ namespace AMWD.Common.Tests.Utilities
// act
var task = Task.Run(async () =>
{
callback = await queue.DequeueAsync();
});
callback = await queue.DequeueAsync(TestContext.CancellationToken);
}, TestContext.CancellationToken);
queue.Enqueue(element);
task.Wait();
task.Wait(TestContext.CancellationToken);
// assert
Assert.IsNotNull(callback);
@@ -118,8 +120,8 @@ namespace AMWD.Common.Tests.Utilities
queue.Enqueue(elements);
// assert
Assert.AreEqual(2, _internalQueue.Count);
Assert.AreEqual(queue.Count, _internalQueue.Count);
Assert.HasCount(2, _internalQueue);
Assert.HasCount(queue.Count, _internalQueue);
}
[TestMethod]
@@ -229,12 +231,12 @@ namespace AMWD.Common.Tests.Utilities
var task = Task.Run(async () =>
{
await Task.Delay(1000);
queue.Enqueue(new[] { _queueElement1, _queueElement2, _queueElement3 });
});
await Task.Delay(1000, TestContext.CancellationToken);
queue.Enqueue([_queueElement1, _queueElement2, _queueElement3]);
}, TestContext.CancellationToken);
// act
var item = await queue.DequeueAsync();
var item = await queue.DequeueAsync(TestContext.CancellationToken);
// assert
Assert.AreEqual(2, queue.Count);
@@ -251,17 +253,17 @@ namespace AMWD.Common.Tests.Utilities
var task = Task.Run(async () =>
{
await Task.Delay(1000);
queue.Enqueue(new[] { _queueElement1, _queueElement2, _queueElement3 });
});
await Task.Delay(1000, TestContext.CancellationToken);
queue.Enqueue([_queueElement1, _queueElement2, _queueElement3]);
}, TestContext.CancellationToken);
// act
var items = await queue.DequeueManyAsync(2);
var items = await queue.DequeueManyAsync(2, TestContext.CancellationToken);
// assert
Assert.AreEqual(1, queue.Count);
Assert.IsNotNull(items);
Assert.AreEqual(2, items.Length);
Assert.HasCount(2, items);
Assert.AreEqual(_queueElement1, items[0]);
Assert.AreEqual(_queueElement2, items[1]);
}
@@ -275,17 +277,17 @@ namespace AMWD.Common.Tests.Utilities
var task = Task.Run(async () =>
{
await Task.Delay(1000);
queue.Enqueue(new[] { _queueElement1, _queueElement2, _queueElement3 });
});
await Task.Delay(1000, TestContext.CancellationToken);
queue.Enqueue([_queueElement1, _queueElement2, _queueElement3]);
}, TestContext.CancellationToken);
// act
var items = await queue.DequeueAvailableAsync();
var items = await queue.DequeueAvailableAsync(cancellationToken: TestContext.CancellationToken);
// assert
Assert.AreEqual(0, queue.Count);
Assert.IsNotNull(items);
Assert.AreEqual(3, items.Length);
Assert.HasCount(3, items);
Assert.AreEqual(_queueElement1, items[0]);
Assert.AreEqual(_queueElement2, items[1]);
Assert.AreEqual(_queueElement3, items[2]);
@@ -300,34 +302,30 @@ namespace AMWD.Common.Tests.Utilities
var task = Task.Run(async () =>
{
await Task.Delay(1000);
queue.Enqueue(new[] { _queueElement1, _queueElement2, _queueElement3 });
});
await Task.Delay(1000, TestContext.CancellationToken);
queue.Enqueue([_queueElement1, _queueElement2, _queueElement3]);
}, TestContext.CancellationToken);
// act
var items = await queue.DequeueAvailableAsync(2);
var items = await queue.DequeueAvailableAsync(2, TestContext.CancellationToken);
// assert
Assert.AreEqual(1, queue.Count);
Assert.IsNotNull(items);
Assert.AreEqual(2, items.Length);
Assert.HasCount(2, items);
Assert.AreEqual(_queueElement1, items[0]);
Assert.AreEqual(_queueElement2, items[1]);
}
[TestMethod]
[ExpectedException(typeof(ArgumentOutOfRangeException))]
public async Task ShouldThrowArumentOutOfRangeException()
{
// arrange
_internalQueue.Clear();
var queue = GetQueue();
// act
await queue.DequeueManyAsync(-2);
// assert - ArgumentOutOfRangeException expected
Assert.Fail();
// act & assert
await Assert.ThrowsExactlyAsync<ArgumentOutOfRangeException>(() => queue.DequeueManyAsync(-2, TestContext.CancellationToken));
}
private AsyncQueue<TestElement> GetQueue()