From 0f467630c92bb655e95a3bc20f2cd74226fd9dd5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Valentin=20Breu=C3=9F?= Date: Thu, 14 May 2026 10:24:55 +0200 Subject: [PATCH] fix: brittle AwaitableCallbackExtensions test --- .../AwaitableCallbackExtensionsTests.cs | 32 +++++++++---------- 1 file changed, 16 insertions(+), 16 deletions(-) diff --git a/Tests/Testably.Abstractions.Testing.Tests/AwaitableCallbackExtensionsTests.cs b/Tests/Testably.Abstractions.Testing.Tests/AwaitableCallbackExtensionsTests.cs index 04d4f10eb..10b0e6ae1 100644 --- a/Tests/Testably.Abstractions.Testing.Tests/AwaitableCallbackExtensionsTests.cs +++ b/Tests/Testably.Abstractions.Testing.Tests/AwaitableCallbackExtensionsTests.cs @@ -1,4 +1,5 @@ -using System.IO; +using System.Collections.Generic; +using System.IO; using System.Linq; using System.Threading; using Testably.Abstractions.Testing.FileSystem; @@ -61,25 +62,24 @@ public async Task WithCancelledToken_ShouldAbort(CancellationToken cancellationT using CancellationTokenSource cts = new(); CancellationToken token = cts.Token; - _ = Task.Run(async () => + for (int i = 0; i < 10; i++) { - for (int i = 0; i < 10; i++) + fileSystem.Directory.CreateDirectory($"Test{i}"); + } + + List results = []; + await foreach (ChangeDescription item in sut + .ToAsyncEnumerable(cancellationToken: token) + .WithCancellation(cancellationToken)) + { + results.Add(item); + if (results.Count == 6) { - fileSystem.Directory.CreateDirectory($"Test{i}"); - await Task.Delay(100, cancellationToken); - if (i == 5) - { - // ReSharper disable once AccessToDisposedClosure - cts.Cancel(); - } + cts.Cancel(); } - }, cancellationToken); - - ChangeDescription[] results = await sut.ToAsyncEnumerable(cancellationToken: token) - .Take(10) - .ToArrayAsync(cancellationToken: cancellationToken); + } - await That(results.Length).IsEqualTo(6); + await That(results.Count).IsEqualTo(6); } [Test]