From c06838de7b85efd7020d8ec0329ff603d4318fed Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Breu=C3=9F=20Valentin?= Date: Tue, 14 Oct 2025 08:58:10 +0200 Subject: [PATCH 1/6] feat: move framework adapters to source generation --- .../Core/Adapters/MsTestAdapter.cs | 17 -- .../Core/Adapters/NUnitAdapter.cs | 16 - .../Core/Adapters/TUnitAdapter.cs | 89 ------ .../Core/Adapters/TestFrameworkAdapter.cs | 94 ------ .../Core/Adapters/XUnit2Adapter.cs | 16 - .../Core/Adapters/XUnit3Adapter.cs | 43 --- .../aweXpect.Frameworks/FrameworkGenerator.cs | 283 ++++++++++++++++++ .../Properties/launchSettings.json | 9 + .../aweXpect.Frameworks.csproj | 25 ++ Source/aweXpect/aweXpect.csproj | 1 + .../MsTestFrameworkTests.cs | 2 +- ...ect.Frameworks.MsTestAdapter.Tests.csproj} | 1 + .../NUnit3TestFrameworkTests.cs | 2 +- ...ect.Frameworks.NUnit3Adapter.Tests.csproj} | 1 + .../NUnit4TestFrameworkTests.cs | 2 +- ...ect.Frameworks.NUnit4Adapter.Tests.csproj} | 1 + .../TUnitTestFrameworkTests.cs | 2 +- ...pect.Frameworks.TUnitAdapter.Tests.csproj} | 1 + .../XUnit2TestFrameworkTests.cs | 2 +- ...ect.Frameworks.XUnit2Adapter.Tests.csproj} | 1 + .../XUnit3CoreTestFrameworkTests.cs | 2 +- ...rameworks.XUnit3Adapter.Core.Tests.csproj} | 1 + .../XUnit3TestFrameworkTests.cs | 2 +- ...ect.Frameworks.XUnit3Adapter.Tests.csproj} | 1 + .../Adapters/TestFrameworkAdapterTests.cs | 165 ---------- .../aweXpect.Core.Tests.csproj | 1 + .../aweXpect.Internal.Tests.csproj | 1 + Tests/aweXpect.Tests/aweXpect.Tests.csproj | 1 + aweXpect.sln | 20 +- 29 files changed, 348 insertions(+), 454 deletions(-) delete mode 100644 Source/aweXpect.Core/Core/Adapters/MsTestAdapter.cs delete mode 100644 Source/aweXpect.Core/Core/Adapters/NUnitAdapter.cs delete mode 100644 Source/aweXpect.Core/Core/Adapters/TUnitAdapter.cs delete mode 100644 Source/aweXpect.Core/Core/Adapters/TestFrameworkAdapter.cs delete mode 100644 Source/aweXpect.Core/Core/Adapters/XUnit2Adapter.cs delete mode 100644 Source/aweXpect.Core/Core/Adapters/XUnit3Adapter.cs create mode 100644 Source/aweXpect.Frameworks/FrameworkGenerator.cs create mode 100644 Source/aweXpect.Frameworks/Properties/launchSettings.json create mode 100644 Source/aweXpect.Frameworks/aweXpect.Frameworks.csproj rename Tests/Frameworks/{aweXpect.Frameworks.MsTest.Tests => aweXpect.Frameworks.MsTestAdapter.Tests}/MsTestFrameworkTests.cs (94%) rename Tests/Frameworks/{aweXpect.Frameworks.MsTest.Tests/aweXpect.Frameworks.MsTest.Tests.csproj => aweXpect.Frameworks.MsTestAdapter.Tests/aweXpect.Frameworks.MsTestAdapter.Tests.csproj} (78%) rename Tests/Frameworks/{aweXpect.Frameworks.NUnit3.Tests => aweXpect.Frameworks.NUnit3Adapter.Tests}/NUnit3TestFrameworkTests.cs (94%) rename Tests/Frameworks/{aweXpect.Frameworks.NUnit3.Tests/aweXpect.Frameworks.NUnit3.Tests.csproj => aweXpect.Frameworks.NUnit3Adapter.Tests/aweXpect.Frameworks.NUnit3Adapter.Tests.csproj} (84%) rename Tests/Frameworks/{aweXpect.Frameworks.NUnit4.Tests => aweXpect.Frameworks.NUnit4Adapter.Tests}/NUnit4TestFrameworkTests.cs (94%) rename Tests/Frameworks/{aweXpect.Frameworks.NUnit4.Tests/aweXpect.Frameworks.NUnit4.Tests.csproj => aweXpect.Frameworks.NUnit4Adapter.Tests/aweXpect.Frameworks.NUnit4Adapter.Tests.csproj} (83%) rename Tests/Frameworks/{aweXpect.Frameworks.TUnit.Tests => aweXpect.Frameworks.TUnitAdapter.Tests}/TUnitTestFrameworkTests.cs (94%) rename Tests/Frameworks/{aweXpect.Frameworks.TUnit.Tests/aweXpect.Frameworks.TUnit.Tests.csproj => aweXpect.Frameworks.TUnitAdapter.Tests/aweXpect.Frameworks.TUnitAdapter.Tests.csproj} (70%) rename Tests/Frameworks/{aweXpect.Frameworks.XUnit2.Tests => aweXpect.Frameworks.XUnit2Adapter.Tests}/XUnit2TestFrameworkTests.cs (94%) rename Tests/Frameworks/{aweXpect.Frameworks.XUnit2.Tests/aweXpect.Frameworks.XUnit2.Tests.csproj => aweXpect.Frameworks.XUnit2Adapter.Tests/aweXpect.Frameworks.XUnit2Adapter.Tests.csproj} (82%) rename Tests/Frameworks/{aweXpect.Frameworks.XUnit3.Core.Tests => aweXpect.Frameworks.XUnit3Adapter.Core.Tests}/XUnit3CoreTestFrameworkTests.cs (95%) rename Tests/Frameworks/{aweXpect.Frameworks.XUnit3.Core.Tests/aweXpect.Frameworks.XUnit3.Core.Tests.csproj => aweXpect.Frameworks.XUnit3Adapter.Core.Tests/aweXpect.Frameworks.XUnit3Adapter.Core.Tests.csproj} (84%) rename Tests/Frameworks/{aweXpect.Frameworks.XUnit3.Tests => aweXpect.Frameworks.XUnit3Adapter.Tests}/XUnit3TestFrameworkTests.cs (94%) rename Tests/Frameworks/{aweXpect.Frameworks.XUnit3.Tests/aweXpect.Frameworks.XUnit3.Tests.csproj => aweXpect.Frameworks.XUnit3Adapter.Tests/aweXpect.Frameworks.XUnit3Adapter.Tests.csproj} (77%) delete mode 100644 Tests/aweXpect.Core.Tests/Core/Adapters/TestFrameworkAdapterTests.cs diff --git a/Source/aweXpect.Core/Core/Adapters/MsTestAdapter.cs b/Source/aweXpect.Core/Core/Adapters/MsTestAdapter.cs deleted file mode 100644 index 6ff75aa9d..000000000 --- a/Source/aweXpect.Core/Core/Adapters/MsTestAdapter.cs +++ /dev/null @@ -1,17 +0,0 @@ -// ReSharper disable UnusedType.Global - -namespace aweXpect.Core.Adapters; - -/// -/// Implements the MS test framework adapter. -/// -/// -/// -/// -// ReSharper disable once UnusedMember.Global -internal class MsTestAdapter() : TestFrameworkAdapter( - "Microsoft.VisualStudio.TestPlatform.TestFramework,", - (a, m) => FromType("Microsoft.VisualStudio.TestTools.UnitTesting.AssertFailedException", a, m), - (a, m) => FromType("Microsoft.VisualStudio.TestTools.UnitTesting.AssertInconclusiveException", a, m), - (a, m) => FromType("Microsoft.VisualStudio.TestTools.UnitTesting.AssertInconclusiveException", a, m) -); diff --git a/Source/aweXpect.Core/Core/Adapters/NUnitAdapter.cs b/Source/aweXpect.Core/Core/Adapters/NUnitAdapter.cs deleted file mode 100644 index 28e912605..000000000 --- a/Source/aweXpect.Core/Core/Adapters/NUnitAdapter.cs +++ /dev/null @@ -1,16 +0,0 @@ -// ReSharper disable UnusedType.Global - -namespace aweXpect.Core.Adapters; - -/// -/// Implements the NUnit test framework adapter. -/// -/// -/// -/// -internal class NUnitAdapter() : TestFrameworkAdapter( - "nunit.framework,", - (a, m) => FromType("NUnit.Framework.AssertionException", a, m), - (a, m) => FromType("NUnit.Framework.IgnoreException", a, m), - (a, m) => FromType("NUnit.Framework.InconclusiveException", a, m) -); diff --git a/Source/aweXpect.Core/Core/Adapters/TUnitAdapter.cs b/Source/aweXpect.Core/Core/Adapters/TUnitAdapter.cs deleted file mode 100644 index 738398671..000000000 --- a/Source/aweXpect.Core/Core/Adapters/TUnitAdapter.cs +++ /dev/null @@ -1,89 +0,0 @@ -#if NET8_0_OR_GREATER -using System; -using System.Diagnostics; -using System.Diagnostics.CodeAnalysis; -using System.Reflection; - -// ReSharper disable UnusedType.Global - -namespace aweXpect.Core.Adapters; - -/// -/// Implements the TUnit test framework adapter. -/// -/// -/// -/// -[ExcludeFromCodeCoverage] -internal class TUnitAdapter : ITestFrameworkAdapter -{ - private Assembly? _assertionsAssembly; - private Assembly? _coreAssembly; - - #region ITestFrameworkAdapter Members - - /// - public bool IsAvailable - { - get - { - try - { - // For netfx the assembly is not in AppDomain by default, so we can't just scan AppDomain.CurrentDomain - _coreAssembly = Assembly.Load(new AssemblyName("TUnit.Core")); - _assertionsAssembly = Assembly.Load(new AssemblyName("TUnit.Assertions")); - return _coreAssembly is not null; - } - catch - { - return false; - } - } - } - - /// - [DoesNotReturn] - [StackTraceHidden] - public void Fail(string message) - { - if (_assertionsAssembly == null) - { - // When TUnit is used without its assertions library, use the default exception. - throw new FailException(message); - } - - Type exceptionType = - _assertionsAssembly.GetType("TUnit.Assertions.Exceptions.AssertionException") - ?? throw new NotSupportedException( - "Failed to create the TUnit fail assertion type"); - - throw (Exception)Activator.CreateInstance(exceptionType, message)!; - } - - /// - [DoesNotReturn] - [StackTraceHidden] - public void Inconclusive(string message) - { - Type exceptionType = _coreAssembly?.GetType("TUnit.Core.Exceptions.InconclusiveTestException") - ?? throw new NotSupportedException( - "Failed to create the TUnit inconclusive assertion type"); - - throw (Exception)Activator.CreateInstance(exceptionType, message, null)!; - } - - /// - [DoesNotReturn] - [StackTraceHidden] - public void Skip(string message) - { - Type exceptionType = _coreAssembly?.GetType("TUnit.Core.Exceptions.SkipTestException") - ?? throw new NotSupportedException( - "Failed to create the TUnit skip assertion type"); - - throw (Exception)Activator.CreateInstance(exceptionType, message)!; - } - - #endregion -} -#endif diff --git a/Source/aweXpect.Core/Core/Adapters/TestFrameworkAdapter.cs b/Source/aweXpect.Core/Core/Adapters/TestFrameworkAdapter.cs deleted file mode 100644 index ca345cc92..000000000 --- a/Source/aweXpect.Core/Core/Adapters/TestFrameworkAdapter.cs +++ /dev/null @@ -1,94 +0,0 @@ -using System; -using System.Diagnostics; -using System.Diagnostics.CodeAnalysis; -using System.Linq; -using System.Reflection; - -namespace aweXpect.Core.Adapters; - -internal abstract class TestFrameworkAdapter( - string assemblyName, - Func failException, - Func skipException, - Func inconclusiveException) - : ITestFrameworkAdapter -{ - private Assembly? _assembly; - - protected static Exception? FromType(string typeName, Assembly assembly, string message) - { - Type? exceptionType = assembly.GetType(typeName); - if (exceptionType is null) - { - return null; - } - - return (Exception?)Activator.CreateInstance(exceptionType, message); - } - - #region ITestFrameworkAdapter Members - - /// - public bool IsAvailable - { - get - { - try - { - // For netfx the assembly is not in AppDomain by default, so we can't just scan AppDomain.CurrentDomain - _assembly = AppDomain.CurrentDomain.GetAssemblies() - .First(a => a.FullName?.StartsWith(assemblyName, StringComparison.OrdinalIgnoreCase) == true); - } - catch - { - // Ignore any exception while trying to load the assembly - } - - return _assembly is not null; - } - } - - /// - [DoesNotReturn] - [StackTraceHidden] - public void Fail(string message) - { - if (_assembly is null) - { - throw new NotSupportedException("Failed to create the fail assertion type"); - } - - throw failException(_assembly, message) - ?? new NotSupportedException("Failed to create the fail assertion type"); - } - - /// - [DoesNotReturn] - [StackTraceHidden] - public void Skip(string message) - { - if (_assembly is null) - { - throw new NotSupportedException("Failed to create the skip assertion type"); - } - - throw skipException(_assembly, message) - ?? new NotSupportedException("Failed to create the skip assertion type"); - } - - /// - [DoesNotReturn] - [StackTraceHidden] - public void Inconclusive(string message) - { - if (_assembly is null) - { - throw new NotSupportedException("Failed to create the inconclusive assertion type"); - } - - throw inconclusiveException(_assembly, message) - ?? new NotSupportedException("Failed to create the inconclusive assertion type"); - } - - #endregion -} diff --git a/Source/aweXpect.Core/Core/Adapters/XUnit2Adapter.cs b/Source/aweXpect.Core/Core/Adapters/XUnit2Adapter.cs deleted file mode 100644 index 000b13cdb..000000000 --- a/Source/aweXpect.Core/Core/Adapters/XUnit2Adapter.cs +++ /dev/null @@ -1,16 +0,0 @@ -// ReSharper disable UnusedType.Global - -namespace aweXpect.Core.Adapters; - -/// -/// Implements the XUnit v2 test framework adapter. -/// -/// -/// -/// -internal class XUnit2Adapter() : TestFrameworkAdapter( - "xunit.assert", - (a, m) => FromType("Xunit.Sdk.XunitException", a, m), - (_, m) => new SkipException($"SKIPPED: {m} (xunit v2 does not support skipping test)"), - (_, m) => new InconclusiveException(m) -); diff --git a/Source/aweXpect.Core/Core/Adapters/XUnit3Adapter.cs b/Source/aweXpect.Core/Core/Adapters/XUnit3Adapter.cs deleted file mode 100644 index 949f153dc..000000000 --- a/Source/aweXpect.Core/Core/Adapters/XUnit3Adapter.cs +++ /dev/null @@ -1,43 +0,0 @@ -using System; -using System.Diagnostics.CodeAnalysis; - -// ReSharper disable UnusedType.Global - -namespace aweXpect.Core.Adapters; - -/// -/// Implements the XUnit v3 test framework adapter. -/// -/// -/// -/// -[ExcludeFromCodeCoverage] -internal class XUnit3Adapter() : TestFrameworkAdapter( - "xunit.v3.assert", - (a, m) => FromType("Xunit.Sdk.XunitException", a, m), - (_, m) => new SkipException($"$XunitDynamicSkip${m}"), - (_, m) => new XunitTimeoutException(m)) -{ - internal class XUnit3CoreAdapter() : TestFrameworkAdapter( - "xunit.v3.core", - (_, m) => new XunitException(m), - (_, m) => new SkipException($"$XunitDynamicSkip${m}"), - (_, m) => new XunitTimeoutException(m)) - { - /// - /// Interface is required by xunit v3 to identify an assertion exception. - /// - private interface IAssertionException; - -#pragma warning disable S3871 // Exception types should be "public" - private sealed class XunitException(string message) - : Exception(message), IAssertionException; -#pragma warning restore S3871 // Exception types should be "public" - } - -#pragma warning disable S3871 // Exception types should be "public" - private sealed class XunitTimeoutException(string message) - : InconclusiveException(message), ITestTimeoutException; -#pragma warning restore S3871 // Exception types should be "public" - private interface ITestTimeoutException; -} diff --git a/Source/aweXpect.Frameworks/FrameworkGenerator.cs b/Source/aweXpect.Frameworks/FrameworkGenerator.cs new file mode 100644 index 000000000..e3df70ef3 --- /dev/null +++ b/Source/aweXpect.Frameworks/FrameworkGenerator.cs @@ -0,0 +1,283 @@ +using System.Collections.Immutable; +using System.Text; +using Microsoft.CodeAnalysis; +using Microsoft.CodeAnalysis.CSharp; +using Microsoft.CodeAnalysis.Text; + +namespace aweXpect.Frameworks; + +/// +/// The for the registration of mocks. +/// +[Generator] +public class FrameworkGenerator : IIncrementalGenerator +{ + void IIncrementalGenerator.Initialize(IncrementalGeneratorInitializationContext context) + { + var settings = context.CompilationProvider + .Select((c, _) => + { + var hasMsTest = c.ReferencedAssemblyNames.Any(x => x.Name == "Microsoft.VisualStudio.TestPlatform.TestFramework"); + var hasNunit = c.ReferencedAssemblyNames.Any(x => x.Name == "nunit.framework"); + var hasTUnit = c.ReferencedAssemblyNames.Any(x => x.Name == "TUnit.Core") && + c.ReferencedAssemblyNames.Any(x => x.Name == "TUnit.Assertions"); + var hasXunit2 = c.ReferencedAssemblyNames.Any(x => x.Name == "xunit.assert"); + var hasXunit3Core = c.ReferencedAssemblyNames.Any(x => x.Name == "xunit.v3.core"); + var hasXunit3Assert = c.ReferencedAssemblyNames.Any(x => x.Name == "xunit.v3.assert"); + return (hasMsTest, hasNunit, hasTUnit, hasXunit2, hasXunit3Core, hasXunit3Assert); + }); + + // Generate the source from the captured values + context.RegisterSourceOutput(settings, static (spc, opts) => + { + if (opts.hasMsTest) + { + spc.AddSource("MsTest.g.cs", MsTestAdapter); + } + if (opts.hasNunit) + { + spc.AddSource("Nunit.g.cs", NunitAdapter); + } + if (opts.hasTUnit) + { + spc.AddSource("TUnit.g.cs", TUnitAdapter); + } + if (opts.hasXunit2) + { + spc.AddSource("Xunit2.g.cs", Xunit2Adapter); + } + if (opts.hasXunit3Assert) + { + spc.AddSource("Xunit3.g.cs", Xunit3AssertAdapter); + } + else if (opts.hasXunit3Core) + { + spc.AddSource("Xunit3.g.cs", Xunit3CoreAdapter); + } + }); + } + + private static string MsTestAdapter => + """ + using System.Diagnostics; + using System.Diagnostics.CodeAnalysis; + using aweXpect.Core.Adapters; + + namespace aweXpect.Frameworks; + + internal class MsTest() : ITestFrameworkAdapter + { + /// + public bool IsAvailable { get; } = true; + + /// + [DoesNotReturn] + [StackTraceHidden] + public void Skip(string message) + => throw new Microsoft.VisualStudio.TestTools.UnitTesting.AssertInconclusiveException(message); + + /// + [DoesNotReturn] + [StackTraceHidden] + public void Fail(string message) + => throw new Microsoft.VisualStudio.TestTools.UnitTesting.AssertFailedException(message); + + /// + [DoesNotReturn] + [StackTraceHidden] + public void Inconclusive(string message) + => throw new Microsoft.VisualStudio.TestTools.UnitTesting.AssertInconclusiveException(message); + } + """; + + private static string NunitAdapter => + """ + using System.Diagnostics; + using System.Diagnostics.CodeAnalysis; + using aweXpect.Core.Adapters; + + namespace aweXpect.Frameworks; + + internal class Nunit2() : ITestFrameworkAdapter + { + /// + public bool IsAvailable { get; } = true; + + /// + [DoesNotReturn] + [StackTraceHidden] + public void Skip(string message) + => throw new NUnit.Framework.IgnoreException(message); + + /// + [DoesNotReturn] + [StackTraceHidden] + public void Fail(string message) + => throw new NUnit.Framework.AssertionException(message); + + /// + [DoesNotReturn] + [StackTraceHidden] + public void Inconclusive(string message) + => throw new NUnit.Framework.InconclusiveException(message); + } + """; + + private static string TUnitAdapter => + """ + using System.Diagnostics; + using System.Diagnostics.CodeAnalysis; + using aweXpect.Core.Adapters; + + namespace aweXpect.Frameworks; + + internal class TUnit() : ITestFrameworkAdapter + { + /// + public bool IsAvailable { get; } = true; + + /// + [DoesNotReturn] + [StackTraceHidden] + public void Skip(string message) + => throw new TUnit.Core.Exceptions.SkipTestException(message); + + /// + [DoesNotReturn] + [StackTraceHidden] + public void Fail(string message) + => throw new TUnit.Assertions.Exceptions.AssertionException(message); + + /// + [DoesNotReturn] + [StackTraceHidden] + public void Inconclusive(string message) + => throw new TUnit.Core.Exceptions.InconclusiveTestException(message); + } + """; + + private static string Xunit2Adapter => + """ + using System.Diagnostics; + using System.Diagnostics.CodeAnalysis; + using aweXpect.Core.Adapters; + + namespace aweXpect.Frameworks; + + internal class Xunit2() : ITestFrameworkAdapter + { + /// + public bool IsAvailable { get; } = true; + + /// + [DoesNotReturn] + [StackTraceHidden] + public void Skip(string message) + => throw new SkipException($"SKIPPED: {message} (xunit v2 does not support skipping test)"); + + /// + [DoesNotReturn] + [StackTraceHidden] + public void Fail(string message) + => throw new Xunit.Sdk.XunitException(message); + + /// + [DoesNotReturn] + [StackTraceHidden] + public void Inconclusive(string message) + => throw new InconclusiveException(message); + } + """; + + private static string Xunit3CoreAdapter => + """ + using System; + using System.Diagnostics; + using System.Diagnostics.CodeAnalysis; + using aweXpect; + using aweXpect.Core.Adapters; + + namespace aweXpect.Frameworks; + + internal class Xunit3() : ITestFrameworkAdapter + { + /// + public bool IsAvailable { get; } = true; + + /// + [DoesNotReturn] + [StackTraceHidden] + public void Skip(string message) + => throw new SkipException($"$XunitDynamicSkip${message}"); + + /// + [DoesNotReturn] + [StackTraceHidden] + public void Fail(string message) + => throw new XunitException(message); + + /// + [DoesNotReturn] + [StackTraceHidden] + public void Inconclusive(string message) + => throw new XunitTimeoutException(message); + + /// + /// Interface is required by xunit v3 to identify an assertion exception. + /// + private interface IAssertionException; + + #pragma warning disable S3871 // Exception types should be "public" + private sealed class XunitException(string message) + : Exception(message), IAssertionException; + #pragma warning restore S3871 // Exception types should be "public" + + #pragma warning disable S3871 // Exception types should be "public" + private sealed class XunitTimeoutException(string message) + : InconclusiveException(message), ITestTimeoutException; + #pragma warning restore S3871 // Exception types should be "public" + private interface ITestTimeoutException; + } + """; + + private static string Xunit3AssertAdapter => + """ + using System; + using System.Diagnostics; + using System.Diagnostics.CodeAnalysis; + using aweXpect; + using aweXpect.Core.Adapters; + + namespace aweXpect.Frameworks; + + internal class Xunit3() : ITestFrameworkAdapter + { + /// + public bool IsAvailable { get; } = true; + + /// + [DoesNotReturn] + [StackTraceHidden] + public void Skip(string message) + => throw new SkipException($"$XunitDynamicSkip${message}"); + + /// + [DoesNotReturn] + [StackTraceHidden] + public void Fail(string message) + => throw new Xunit.Sdk.XunitException(message); + + /// + [DoesNotReturn] + [StackTraceHidden] + public void Inconclusive(string message) + => throw new XunitTimeoutException(message); + + #pragma warning disable S3871 // Exception types should be "public" + private sealed class XunitTimeoutException(string message) + : InconclusiveException(message), ITestTimeoutException; + #pragma warning restore S3871 // Exception types should be "public" + private interface ITestTimeoutException; + } + """; +} diff --git a/Source/aweXpect.Frameworks/Properties/launchSettings.json b/Source/aweXpect.Frameworks/Properties/launchSettings.json new file mode 100644 index 000000000..92ffbcfed --- /dev/null +++ b/Source/aweXpect.Frameworks/Properties/launchSettings.json @@ -0,0 +1,9 @@ +{ + "$schema": "http://json.schemastore.org/launchsettings.json", + "profiles": { + "Generators": { + "commandName": "DebugRoslynComponent", + "targetProject": "../../Tests/Frameworks/aweXpect.Frameworks.XUnit3.Core.Tests/aweXpect.Frameworks.XUnit3.Core.Tests.csproj" + } + } +} diff --git a/Source/aweXpect.Frameworks/aweXpect.Frameworks.csproj b/Source/aweXpect.Frameworks/aweXpect.Frameworks.csproj new file mode 100644 index 000000000..8852c966b --- /dev/null +++ b/Source/aweXpect.Frameworks/aweXpect.Frameworks.csproj @@ -0,0 +1,25 @@ + + + + netstandard2.0 + false + enable + true + preview + true + false + + + + + + + + + + + + + + + diff --git a/Source/aweXpect/aweXpect.csproj b/Source/aweXpect/aweXpect.csproj index 0b7dd50a9..430990395 100644 --- a/Source/aweXpect/aweXpect.csproj +++ b/Source/aweXpect/aweXpect.csproj @@ -21,6 +21,7 @@ + diff --git a/Tests/Frameworks/aweXpect.Frameworks.MsTest.Tests/MsTestFrameworkTests.cs b/Tests/Frameworks/aweXpect.Frameworks.MsTestAdapter.Tests/MsTestFrameworkTests.cs similarity index 94% rename from Tests/Frameworks/aweXpect.Frameworks.MsTest.Tests/MsTestFrameworkTests.cs rename to Tests/Frameworks/aweXpect.Frameworks.MsTestAdapter.Tests/MsTestFrameworkTests.cs index 34be1ffaf..f3d417eba 100644 --- a/Tests/Frameworks/aweXpect.Frameworks.MsTest.Tests/MsTestFrameworkTests.cs +++ b/Tests/Frameworks/aweXpect.Frameworks.MsTestAdapter.Tests/MsTestFrameworkTests.cs @@ -1,7 +1,7 @@ using System.Threading.Tasks; using Microsoft.VisualStudio.TestTools.UnitTesting; -namespace aweXpect.Frameworks.MsTest.Tests; +namespace aweXpect.Frameworks.MsTestAdapter.Tests; [TestClass] public sealed class MsTestFrameworkTests diff --git a/Tests/Frameworks/aweXpect.Frameworks.MsTest.Tests/aweXpect.Frameworks.MsTest.Tests.csproj b/Tests/Frameworks/aweXpect.Frameworks.MsTestAdapter.Tests/aweXpect.Frameworks.MsTestAdapter.Tests.csproj similarity index 78% rename from Tests/Frameworks/aweXpect.Frameworks.MsTest.Tests/aweXpect.Frameworks.MsTest.Tests.csproj rename to Tests/Frameworks/aweXpect.Frameworks.MsTestAdapter.Tests/aweXpect.Frameworks.MsTestAdapter.Tests.csproj index dc09d3878..d04862f0f 100644 --- a/Tests/Frameworks/aweXpect.Frameworks.MsTest.Tests/aweXpect.Frameworks.MsTest.Tests.csproj +++ b/Tests/Frameworks/aweXpect.Frameworks.MsTestAdapter.Tests/aweXpect.Frameworks.MsTestAdapter.Tests.csproj @@ -6,6 +6,7 @@ + diff --git a/Tests/Frameworks/aweXpect.Frameworks.NUnit3.Tests/NUnit3TestFrameworkTests.cs b/Tests/Frameworks/aweXpect.Frameworks.NUnit3Adapter.Tests/NUnit3TestFrameworkTests.cs similarity index 94% rename from Tests/Frameworks/aweXpect.Frameworks.NUnit3.Tests/NUnit3TestFrameworkTests.cs rename to Tests/Frameworks/aweXpect.Frameworks.NUnit3Adapter.Tests/NUnit3TestFrameworkTests.cs index b2e01c6e1..4045dd85b 100644 --- a/Tests/Frameworks/aweXpect.Frameworks.NUnit3.Tests/NUnit3TestFrameworkTests.cs +++ b/Tests/Frameworks/aweXpect.Frameworks.NUnit3Adapter.Tests/NUnit3TestFrameworkTests.cs @@ -1,7 +1,7 @@ using System.Threading.Tasks; using NUnit.Framework; -namespace aweXpect.Frameworks.NUnit3.Tests; +namespace aweXpect.Frameworks.NUnit3Adapter.Tests; public sealed class NUnit3TestFrameworkTests { diff --git a/Tests/Frameworks/aweXpect.Frameworks.NUnit3.Tests/aweXpect.Frameworks.NUnit3.Tests.csproj b/Tests/Frameworks/aweXpect.Frameworks.NUnit3Adapter.Tests/aweXpect.Frameworks.NUnit3Adapter.Tests.csproj similarity index 84% rename from Tests/Frameworks/aweXpect.Frameworks.NUnit3.Tests/aweXpect.Frameworks.NUnit3.Tests.csproj rename to Tests/Frameworks/aweXpect.Frameworks.NUnit3Adapter.Tests/aweXpect.Frameworks.NUnit3Adapter.Tests.csproj index 0c01d8f03..0a2cc3e8c 100644 --- a/Tests/Frameworks/aweXpect.Frameworks.NUnit3.Tests/aweXpect.Frameworks.NUnit3.Tests.csproj +++ b/Tests/Frameworks/aweXpect.Frameworks.NUnit3Adapter.Tests/aweXpect.Frameworks.NUnit3Adapter.Tests.csproj @@ -13,6 +13,7 @@ + diff --git a/Tests/Frameworks/aweXpect.Frameworks.NUnit4.Tests/NUnit4TestFrameworkTests.cs b/Tests/Frameworks/aweXpect.Frameworks.NUnit4Adapter.Tests/NUnit4TestFrameworkTests.cs similarity index 94% rename from Tests/Frameworks/aweXpect.Frameworks.NUnit4.Tests/NUnit4TestFrameworkTests.cs rename to Tests/Frameworks/aweXpect.Frameworks.NUnit4Adapter.Tests/NUnit4TestFrameworkTests.cs index e544deae5..24f12bdbc 100644 --- a/Tests/Frameworks/aweXpect.Frameworks.NUnit4.Tests/NUnit4TestFrameworkTests.cs +++ b/Tests/Frameworks/aweXpect.Frameworks.NUnit4Adapter.Tests/NUnit4TestFrameworkTests.cs @@ -1,7 +1,7 @@ using System.Threading.Tasks; using NUnit.Framework; -namespace aweXpect.Frameworks.NUnit4.Tests; +namespace aweXpect.Frameworks.NUnit4Adapter.Tests; public sealed class NUnit4TestFrameworkTests { diff --git a/Tests/Frameworks/aweXpect.Frameworks.NUnit4.Tests/aweXpect.Frameworks.NUnit4.Tests.csproj b/Tests/Frameworks/aweXpect.Frameworks.NUnit4Adapter.Tests/aweXpect.Frameworks.NUnit4Adapter.Tests.csproj similarity index 83% rename from Tests/Frameworks/aweXpect.Frameworks.NUnit4.Tests/aweXpect.Frameworks.NUnit4.Tests.csproj rename to Tests/Frameworks/aweXpect.Frameworks.NUnit4Adapter.Tests/aweXpect.Frameworks.NUnit4Adapter.Tests.csproj index eae373b76..541677485 100644 --- a/Tests/Frameworks/aweXpect.Frameworks.NUnit4.Tests/aweXpect.Frameworks.NUnit4.Tests.csproj +++ b/Tests/Frameworks/aweXpect.Frameworks.NUnit4Adapter.Tests/aweXpect.Frameworks.NUnit4Adapter.Tests.csproj @@ -13,6 +13,7 @@ + diff --git a/Tests/Frameworks/aweXpect.Frameworks.TUnit.Tests/TUnitTestFrameworkTests.cs b/Tests/Frameworks/aweXpect.Frameworks.TUnitAdapter.Tests/TUnitTestFrameworkTests.cs similarity index 94% rename from Tests/Frameworks/aweXpect.Frameworks.TUnit.Tests/TUnitTestFrameworkTests.cs rename to Tests/Frameworks/aweXpect.Frameworks.TUnitAdapter.Tests/TUnitTestFrameworkTests.cs index c2f1c25e9..fb690289d 100644 --- a/Tests/Frameworks/aweXpect.Frameworks.TUnit.Tests/TUnitTestFrameworkTests.cs +++ b/Tests/Frameworks/aweXpect.Frameworks.TUnitAdapter.Tests/TUnitTestFrameworkTests.cs @@ -2,7 +2,7 @@ using TUnit.Assertions.Exceptions; using TUnit.Core.Exceptions; -namespace aweXpect.Frameworks.TUnit.Tests; +namespace aweXpect.Frameworks.TUnitAdapter.Tests; public sealed class TUnitTestFrameworkTests { diff --git a/Tests/Frameworks/aweXpect.Frameworks.TUnit.Tests/aweXpect.Frameworks.TUnit.Tests.csproj b/Tests/Frameworks/aweXpect.Frameworks.TUnitAdapter.Tests/aweXpect.Frameworks.TUnitAdapter.Tests.csproj similarity index 70% rename from Tests/Frameworks/aweXpect.Frameworks.TUnit.Tests/aweXpect.Frameworks.TUnit.Tests.csproj rename to Tests/Frameworks/aweXpect.Frameworks.TUnitAdapter.Tests/aweXpect.Frameworks.TUnitAdapter.Tests.csproj index cfd8cb787..dc5a790e8 100644 --- a/Tests/Frameworks/aweXpect.Frameworks.TUnit.Tests/aweXpect.Frameworks.TUnit.Tests.csproj +++ b/Tests/Frameworks/aweXpect.Frameworks.TUnitAdapter.Tests/aweXpect.Frameworks.TUnitAdapter.Tests.csproj @@ -7,6 +7,7 @@ + diff --git a/Tests/Frameworks/aweXpect.Frameworks.XUnit2.Tests/XUnit2TestFrameworkTests.cs b/Tests/Frameworks/aweXpect.Frameworks.XUnit2Adapter.Tests/XUnit2TestFrameworkTests.cs similarity index 94% rename from Tests/Frameworks/aweXpect.Frameworks.XUnit2.Tests/XUnit2TestFrameworkTests.cs rename to Tests/Frameworks/aweXpect.Frameworks.XUnit2Adapter.Tests/XUnit2TestFrameworkTests.cs index 6e729f277..c1fb573ac 100644 --- a/Tests/Frameworks/aweXpect.Frameworks.XUnit2.Tests/XUnit2TestFrameworkTests.cs +++ b/Tests/Frameworks/aweXpect.Frameworks.XUnit2Adapter.Tests/XUnit2TestFrameworkTests.cs @@ -2,7 +2,7 @@ using Xunit; using Xunit.Sdk; -namespace aweXpect.Frameworks.XUnit2.Tests; +namespace aweXpect.Frameworks.XUnit2Adapter.Tests; public sealed class XUnit2TestFrameworkTests { diff --git a/Tests/Frameworks/aweXpect.Frameworks.XUnit2.Tests/aweXpect.Frameworks.XUnit2.Tests.csproj b/Tests/Frameworks/aweXpect.Frameworks.XUnit2Adapter.Tests/aweXpect.Frameworks.XUnit2Adapter.Tests.csproj similarity index 82% rename from Tests/Frameworks/aweXpect.Frameworks.XUnit2.Tests/aweXpect.Frameworks.XUnit2.Tests.csproj rename to Tests/Frameworks/aweXpect.Frameworks.XUnit2Adapter.Tests/aweXpect.Frameworks.XUnit2Adapter.Tests.csproj index a31415ea2..8cfffbd60 100644 --- a/Tests/Frameworks/aweXpect.Frameworks.XUnit2.Tests/aweXpect.Frameworks.XUnit2.Tests.csproj +++ b/Tests/Frameworks/aweXpect.Frameworks.XUnit2Adapter.Tests/aweXpect.Frameworks.XUnit2Adapter.Tests.csproj @@ -9,6 +9,7 @@ + diff --git a/Tests/Frameworks/aweXpect.Frameworks.XUnit3.Core.Tests/XUnit3CoreTestFrameworkTests.cs b/Tests/Frameworks/aweXpect.Frameworks.XUnit3Adapter.Core.Tests/XUnit3CoreTestFrameworkTests.cs similarity index 95% rename from Tests/Frameworks/aweXpect.Frameworks.XUnit3.Core.Tests/XUnit3CoreTestFrameworkTests.cs rename to Tests/Frameworks/aweXpect.Frameworks.XUnit3Adapter.Core.Tests/XUnit3CoreTestFrameworkTests.cs index 7ae6ee9b2..00dcf1567 100644 --- a/Tests/Frameworks/aweXpect.Frameworks.XUnit3.Core.Tests/XUnit3CoreTestFrameworkTests.cs +++ b/Tests/Frameworks/aweXpect.Frameworks.XUnit3Adapter.Core.Tests/XUnit3CoreTestFrameworkTests.cs @@ -3,7 +3,7 @@ using System.Threading.Tasks; using Xunit; -namespace aweXpect.Frameworks.XUnit3.Core.Tests; +namespace aweXpect.Frameworks.XUnit3Adapter.Core.Tests; public class XUnit3TestFrameworkTests { diff --git a/Tests/Frameworks/aweXpect.Frameworks.XUnit3.Core.Tests/aweXpect.Frameworks.XUnit3.Core.Tests.csproj b/Tests/Frameworks/aweXpect.Frameworks.XUnit3Adapter.Core.Tests/aweXpect.Frameworks.XUnit3Adapter.Core.Tests.csproj similarity index 84% rename from Tests/Frameworks/aweXpect.Frameworks.XUnit3.Core.Tests/aweXpect.Frameworks.XUnit3.Core.Tests.csproj rename to Tests/Frameworks/aweXpect.Frameworks.XUnit3Adapter.Core.Tests/aweXpect.Frameworks.XUnit3Adapter.Core.Tests.csproj index 1d784b0dd..3526de4e6 100644 --- a/Tests/Frameworks/aweXpect.Frameworks.XUnit3.Core.Tests/aweXpect.Frameworks.XUnit3.Core.Tests.csproj +++ b/Tests/Frameworks/aweXpect.Frameworks.XUnit3Adapter.Core.Tests/aweXpect.Frameworks.XUnit3Adapter.Core.Tests.csproj @@ -12,6 +12,7 @@ + diff --git a/Tests/Frameworks/aweXpect.Frameworks.XUnit3.Tests/XUnit3TestFrameworkTests.cs b/Tests/Frameworks/aweXpect.Frameworks.XUnit3Adapter.Tests/XUnit3TestFrameworkTests.cs similarity index 94% rename from Tests/Frameworks/aweXpect.Frameworks.XUnit3.Tests/XUnit3TestFrameworkTests.cs rename to Tests/Frameworks/aweXpect.Frameworks.XUnit3Adapter.Tests/XUnit3TestFrameworkTests.cs index 15e2a8388..b7f71b1b2 100644 --- a/Tests/Frameworks/aweXpect.Frameworks.XUnit3.Tests/XUnit3TestFrameworkTests.cs +++ b/Tests/Frameworks/aweXpect.Frameworks.XUnit3Adapter.Tests/XUnit3TestFrameworkTests.cs @@ -3,7 +3,7 @@ using Xunit; using Xunit.Sdk; -namespace aweXpect.Frameworks.XUnit3.Tests; +namespace aweXpect.Frameworks.XUnit3Adapter.Tests; public class XUnit3TestFrameworkTests { diff --git a/Tests/Frameworks/aweXpect.Frameworks.XUnit3.Tests/aweXpect.Frameworks.XUnit3.Tests.csproj b/Tests/Frameworks/aweXpect.Frameworks.XUnit3Adapter.Tests/aweXpect.Frameworks.XUnit3Adapter.Tests.csproj similarity index 77% rename from Tests/Frameworks/aweXpect.Frameworks.XUnit3.Tests/aweXpect.Frameworks.XUnit3.Tests.csproj rename to Tests/Frameworks/aweXpect.Frameworks.XUnit3Adapter.Tests/aweXpect.Frameworks.XUnit3Adapter.Tests.csproj index e6203d2ba..02c917d56 100644 --- a/Tests/Frameworks/aweXpect.Frameworks.XUnit3.Tests/aweXpect.Frameworks.XUnit3.Tests.csproj +++ b/Tests/Frameworks/aweXpect.Frameworks.XUnit3Adapter.Tests/aweXpect.Frameworks.XUnit3Adapter.Tests.csproj @@ -12,6 +12,7 @@ + diff --git a/Tests/aweXpect.Core.Tests/Core/Adapters/TestFrameworkAdapterTests.cs b/Tests/aweXpect.Core.Tests/Core/Adapters/TestFrameworkAdapterTests.cs deleted file mode 100644 index 8a15a0cb3..000000000 --- a/Tests/aweXpect.Core.Tests/Core/Adapters/TestFrameworkAdapterTests.cs +++ /dev/null @@ -1,165 +0,0 @@ -using System.Reflection; -using aweXpect.Core.Adapters; -using aweXpect.Core.Tests.TestHelpers; -using Xunit.Abstractions; - -namespace aweXpect.Core.Tests.Core.Adapters; - -public sealed class TestFrameworkAdapterTests : IDisposable -{ - private readonly XunitTraceWriter _writer; - - public TestFrameworkAdapterTests(ITestOutputHelper testOutputHelper) - { - _writer = new XunitTraceWriter(testOutputHelper); - } - - public void Dispose() => _writer.Dispose(); - - [Fact] - public async Task FromType_WhenNameDoesNotExist_ShouldReturnNull() - { - string typeName = "type-that-does-not-exist"; - Assembly assembly = typeof(TestFrameworkAdapterTests).Assembly; - - Exception? exception = MyTestFrameworkAdapter.FromTypeWrapper(typeName, assembly, "foo"); - - await That(exception).IsNull(); - } - - [Fact] - public async Task Inconclusive_MissingAssemblyName_ShouldThrowNotSupportedException() - { - MyTestFrameworkAdapter adapter = new(MissingAssembly, skipException: new MyException()); - _ = adapter.IsAvailable; - - await That(() => adapter.Inconclusive("foo")).Throws() - .WithMessage("Failed to create the inconclusive assertion type"); - } - - [Fact] - public async Task Inconclusive_ValidAssemblyName_ShouldThrowNotSupportedException() - { - MyTestFrameworkAdapter adapter = new(ExistingAssembly); - _ = adapter.IsAvailable; - - await That(() => adapter.Inconclusive("foo")).Throws() - .WithMessage("Failed to create the inconclusive assertion type"); - } - - [Fact] - public async Task Inconclusive_ValidAssemblyName_WithException_ShouldThrowProvidedException() - { - MyException exception = new("my-message"); - MyTestFrameworkAdapter adapter = new(ExistingAssembly, inconclusiveException: exception); - _ = adapter.IsAvailable; - - await That(() => adapter.Inconclusive("foo")).Throws() - .WithMessage("my-message"); - } - - [Fact] - public async Task MissingAssemblyName_ShouldNotBeAvailable() - { - MyTestFrameworkAdapter adapter = new(MissingAssembly); - _ = adapter.IsAvailable; - - await That(adapter.IsAvailable).IsFalse(); - } - - [Fact] - public async Task Skip_MissingAssemblyName_ShouldThrowNotSupportedException() - { - MyTestFrameworkAdapter adapter = new(MissingAssembly, skipException: new MyException()); - _ = adapter.IsAvailable; - - await That(() => adapter.Skip("foo")).Throws() - .WithMessage("Failed to create the skip assertion type"); - } - - [Fact] - public async Task Skip_ValidAssemblyName_ShouldThrowNotSupportedException() - { - MyTestFrameworkAdapter adapter = new(ExistingAssembly); - _ = adapter.IsAvailable; - - await That(() => adapter.Skip("foo")).Throws() - .WithMessage("Failed to create the skip assertion type"); - } - - [Fact] - public async Task Skip_ValidAssemblyName_WithException_ShouldThrowProvidedException() - { - MyException exception = new("my-message"); - MyTestFrameworkAdapter adapter = new(ExistingAssembly, skipException: exception); - _ = adapter.IsAvailable; - - await That(() => adapter.Skip("foo")).Throws() - .WithMessage("my-message"); - } - - [Fact] - public async Task Throw_MissingAssemblyName_ShouldThrowNotSupportedException() - { - MyTestFrameworkAdapter adapter = new(MissingAssembly, new MyException()); - _ = adapter.IsAvailable; - - await That(() => adapter.Fail("foo")).Throws() - .WithMessage("Failed to create the fail assertion type"); - } - - [Fact] - public async Task Throw_ValidAssemblyName_ShouldThrowNotSupportedException() - { - MyTestFrameworkAdapter adapter = new(ExistingAssembly); - _ = adapter.IsAvailable; - - await That(() => adapter.Fail("foo")).Throws() - .WithMessage("Failed to create the fail assertion type"); - } - - [Fact] - public async Task Throw_ValidAssemblyName_WithException_ShouldThrowProvidedException() - { - MyException exception = new("my-message"); - MyTestFrameworkAdapter adapter = new(ExistingAssembly, exception); - _ = adapter.IsAvailable; - - await That(() => adapter.Fail("foo")).Throws() - .WithMessage("my-message"); - } - - [Fact] - public async Task ValidAssemblyName_ShouldBeAvailable() - { - MyTestFrameworkAdapter adapter = new(ExistingAssembly); - _ = adapter.IsAvailable; - - await That(adapter.IsAvailable).IsTrue(); - } - - private const string ExistingAssembly = "aweXpect.Core.Tests"; - private const string MissingAssembly = "this-assembly-does-not-exist"; - - private sealed class MyTestFrameworkAdapter : TestFrameworkAdapter - { - public MyTestFrameworkAdapter() : this(MissingAssembly) - { - // An empty constructor is required in order to avoid an exception in the ambient initialization "DetectFramework" method! - } - - public MyTestFrameworkAdapter(string assemblyName, - Exception? failException = null, - Exception? skipException = null, - Exception? inconclusiveException = null) - : base(assemblyName, - (_, _) => failException, - (_, _) => skipException, - (_, _) => inconclusiveException) - { - } - - public static Exception? FromTypeWrapper(string typeName, Assembly assembly, string message) - => FromType(typeName, assembly, message); - } -} diff --git a/Tests/aweXpect.Core.Tests/aweXpect.Core.Tests.csproj b/Tests/aweXpect.Core.Tests/aweXpect.Core.Tests.csproj index 45082cec7..83538e681 100644 --- a/Tests/aweXpect.Core.Tests/aweXpect.Core.Tests.csproj +++ b/Tests/aweXpect.Core.Tests/aweXpect.Core.Tests.csproj @@ -8,6 +8,7 @@ + diff --git a/Tests/aweXpect.Internal.Tests/aweXpect.Internal.Tests.csproj b/Tests/aweXpect.Internal.Tests/aweXpect.Internal.Tests.csproj index 69923f4d0..2a11e1a0a 100644 --- a/Tests/aweXpect.Internal.Tests/aweXpect.Internal.Tests.csproj +++ b/Tests/aweXpect.Internal.Tests/aweXpect.Internal.Tests.csproj @@ -1,6 +1,7 @@ + diff --git a/Tests/aweXpect.Tests/aweXpect.Tests.csproj b/Tests/aweXpect.Tests/aweXpect.Tests.csproj index e03cda6ab..b8f2543ba 100644 --- a/Tests/aweXpect.Tests/aweXpect.Tests.csproj +++ b/Tests/aweXpect.Tests/aweXpect.Tests.csproj @@ -1,6 +1,7 @@ + diff --git a/aweXpect.sln b/aweXpect.sln index 21085e6fe..23f92e2dd 100644 --- a/aweXpect.sln +++ b/aweXpect.sln @@ -63,13 +63,13 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Frameworks", "Frameworks", Tests\Frameworks\Directory.Build.props = Tests\Frameworks\Directory.Build.props EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Frameworks.NUnit3.Tests", "Tests\Frameworks\aweXpect.Frameworks.NUnit3.Tests\aweXpect.Frameworks.NUnit3.Tests.csproj", "{8879B8B8-E9DE-4432-A452-7B234B65C924}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Frameworks.NUnit3Adapter.Tests", "Tests\Frameworks\aweXpect.Frameworks.NUnit3Adapter.Tests\aweXpect.Frameworks.NUnit3Adapter.Tests.csproj", "{8879B8B8-E9DE-4432-A452-7B234B65C924}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Frameworks.NUnit4.Tests", "Tests\Frameworks\aweXpect.Frameworks.NUnit4.Tests\aweXpect.Frameworks.NUnit4.Tests.csproj", "{9ABF8E11-7975-43F2-8418-1F6D9E5E4D37}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Frameworks.NUnit4Adapter.Tests", "Tests\Frameworks\aweXpect.Frameworks.NUnit4Adapter.Tests\aweXpect.Frameworks.NUnit4Adapter.Tests.csproj", "{9ABF8E11-7975-43F2-8418-1F6D9E5E4D37}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Frameworks.TUnit.Tests", "Tests\Frameworks\aweXpect.Frameworks.TUnit.Tests\aweXpect.Frameworks.TUnit.Tests.csproj", "{532FAE88-3327-4B1B-B3B7-43D439A7CEE8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Frameworks.TUnitAdapter.Tests", "Tests\Frameworks\aweXpect.Frameworks.TUnitAdapter.Tests\aweXpect.Frameworks.TUnitAdapter.Tests.csproj", "{532FAE88-3327-4B1B-B3B7-43D439A7CEE8}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Frameworks.XUnit2.Tests", "Tests\Frameworks\aweXpect.Frameworks.XUnit2.Tests\aweXpect.Frameworks.XUnit2.Tests.csproj", "{3E369992-EC14-4874-B793-7FCF5D9DB660}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Frameworks.XUnit2Adapter.Tests", "Tests\Frameworks\aweXpect.Frameworks.XUnit2Adapter.Tests\aweXpect.Frameworks.XUnit2Adapter.Tests.csproj", "{3E369992-EC14-4874-B793-7FCF5D9DB660}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Benchmarks", "Benchmarks", "{FA002813-92DA-46AC-8F34-DA739B4380C8}" EndProject @@ -77,11 +77,11 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Benchmarks", "Benc EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Frameworks.Fallback.Tests", "Tests\Frameworks\aweXpect.Frameworks.Fallback.Tests\aweXpect.Frameworks.Fallback.Tests.csproj", "{A672BA16-8BE2-4E4F-A6DD-59911284EDF8}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Frameworks.MsTest.Tests", "Tests\Frameworks\aweXpect.Frameworks.MsTest.Tests\aweXpect.Frameworks.MsTest.Tests.csproj", "{1EC393AD-DE25-4C0E-A8B5-B19A2843A4E2}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Frameworks.MsTestAdapter.Tests", "Tests\Frameworks\aweXpect.Frameworks.MsTestAdapter.Tests\aweXpect.Frameworks.MsTestAdapter.Tests.csproj", "{1EC393AD-DE25-4C0E-A8B5-B19A2843A4E2}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Frameworks.XUnit3.Tests", "Tests\Frameworks\aweXpect.Frameworks.XUnit3.Tests\aweXpect.Frameworks.XUnit3.Tests.csproj", "{5D0060AC-986B-4C28-A871-BA0EC9223DA7}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Frameworks.XUnit3Adapter.Tests", "Tests\Frameworks\aweXpect.Frameworks.XUnit3Adapter.Tests\aweXpect.Frameworks.XUnit3Adapter.Tests.csproj", "{5D0060AC-986B-4C28-A871-BA0EC9223DA7}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Frameworks.XUnit3.Core.Tests", "Tests\Frameworks\aweXpect.Frameworks.XUnit3.Core.Tests\aweXpect.Frameworks.XUnit3.Core.Tests.csproj", "{A815B631-402C-44B0-80B3-50B6EAFD8078}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Frameworks.XUnit3Adapter.Core.Tests", "Tests\Frameworks\aweXpect.Frameworks.XUnit3Adapter.Core.Tests\aweXpect.Frameworks.XUnit3Adapter.Core.Tests.csproj", "{A815B631-402C-44B0-80B3-50B6EAFD8078}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Internal.Tests", "Tests\aweXpect.Internal.Tests\aweXpect.Internal.Tests.csproj", "{4A940BE9-D9E0-4004-89D4-5D6E8CB37208}" EndProject @@ -95,6 +95,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Analyzers.CodeFixe EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.SourceGenerators", "Source\aweXpect.SourceGenerators\aweXpect.SourceGenerators.csproj", "{C4F90F26-54CD-447E-870D-6F1C05729155}" EndProject +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Frameworks", "Source\aweXpect.Frameworks\aweXpect.Frameworks.csproj", "{75E57A42-1C09-4923-B1E1-A27937189E9A}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -183,6 +185,10 @@ Global {C4F90F26-54CD-447E-870D-6F1C05729155}.Debug|Any CPU.Build.0 = Debug|Any CPU {C4F90F26-54CD-447E-870D-6F1C05729155}.Release|Any CPU.ActiveCfg = Release|Any CPU {C4F90F26-54CD-447E-870D-6F1C05729155}.Release|Any CPU.Build.0 = Release|Any CPU + {75E57A42-1C09-4923-B1E1-A27937189E9A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {75E57A42-1C09-4923-B1E1-A27937189E9A}.Debug|Any CPU.Build.0 = Debug|Any CPU + {75E57A42-1C09-4923-B1E1-A27937189E9A}.Release|Any CPU.ActiveCfg = Release|Any CPU + {75E57A42-1C09-4923-B1E1-A27937189E9A}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(NestedProjects) = preSolution {97D64B45-D97E-4A94-9EF0-37BF25310EBA} = {9CC57AD0-4984-4618-96EA-01FFFCCD84FA} From ddec7a2e34023249424213e9bf308d60c7b6e5e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Breu=C3=9F=20Valentin?= Date: Tue, 14 Oct 2025 12:29:59 +0200 Subject: [PATCH 2/6] Fix review issues --- Pipeline/Build.FrameworkTest.cs | 14 +++++++------- Source/aweXpect.Frameworks/FrameworkGenerator.cs | 2 +- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/Pipeline/Build.FrameworkTest.cs b/Pipeline/Build.FrameworkTest.cs index 5f9b3f765..0c7fdf166 100644 --- a/Pipeline/Build.FrameworkTest.cs +++ b/Pipeline/Build.FrameworkTest.cs @@ -15,11 +15,11 @@ partial class Build Project[] FrameworkUnitTestProjects => [ Solution.Tests.Frameworks.aweXpect_Frameworks_Fallback_Tests, - Solution.Tests.Frameworks.aweXpect_Frameworks_MsTest_Tests, - Solution.Tests.Frameworks.aweXpect_Frameworks_NUnit4_Tests, - Solution.Tests.Frameworks.aweXpect_Frameworks_NUnit3_Tests, - Solution.Tests.Frameworks.aweXpect_Frameworks_XUnit2_Tests, - Solution.Tests.Frameworks.aweXpect_Frameworks_XUnit3_Core_Tests, + Solution.Tests.Frameworks.aweXpect_Frameworks_MsTestAdapter_Tests, + Solution.Tests.Frameworks.aweXpect_Frameworks_NUnit4Adapter_Tests, + Solution.Tests.Frameworks.aweXpect_Frameworks_NUnit3Adapter_Tests, + Solution.Tests.Frameworks.aweXpect_Frameworks_XUnit2Adapter_Tests, + Solution.Tests.Frameworks.aweXpect_Frameworks_XUnit3Adapter_Core_Tests, ]; Target TestFrameworks => _ => _ @@ -70,7 +70,7 @@ from framework in supportedFrameworks { Project[] projects = [ - Solution.Tests.Frameworks.aweXpect_Frameworks_TUnit_Tests, + Solution.Tests.Frameworks.aweXpect_Frameworks_TUnitAdapter_Tests, ]; var testCombinations = @@ -113,7 +113,7 @@ from framework in frameworks { Project[] projects = [ - Solution.Tests.Frameworks.aweXpect_Frameworks_XUnit3_Tests, + Solution.Tests.Frameworks.aweXpect_Frameworks_XUnit3Adapter_Tests, ]; var testCombinations = diff --git a/Source/aweXpect.Frameworks/FrameworkGenerator.cs b/Source/aweXpect.Frameworks/FrameworkGenerator.cs index e3df70ef3..4ef50df4a 100644 --- a/Source/aweXpect.Frameworks/FrameworkGenerator.cs +++ b/Source/aweXpect.Frameworks/FrameworkGenerator.cs @@ -7,7 +7,7 @@ namespace aweXpect.Frameworks; /// -/// The for the registration of mocks. +/// The for generating test framework adapters. /// [Generator] public class FrameworkGenerator : IIncrementalGenerator From bf546518d6e35f650271cf19864117c1a31ed531 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Breu=C3=9F=20Valentin?= Date: Tue, 14 Oct 2025 14:18:46 +0200 Subject: [PATCH 3/6] Fix build problems --- Pipeline/Build.FrameworkTest.cs | 14 +++++++------- Source/aweXpect.Frameworks/FrameworkGenerator.cs | 14 +++++++------- .../Properties/launchSettings.json | 2 +- .../MsTestFrameworkTests.cs | 2 +- .../aweXpect.Frameworks.MsTest.Tests.csproj} | 0 .../NUnit3TestFrameworkTests.cs | 2 +- .../aweXpect.Frameworks.NUnit3.Tests.csproj} | 0 .../NUnit4TestFrameworkTests.cs | 2 +- .../aweXpect.Frameworks.NUnit4.Tests.csproj} | 0 .../TUnitTestFrameworkTests.cs | 4 ++-- .../aweXpect.Frameworks.TUnit.Tests.csproj} | 0 .../XUnit2TestFrameworkTests.cs | 4 ++-- .../aweXpect.Frameworks.XUnit2.Tests.csproj} | 0 .../XUnit3CoreTestFrameworkTests.cs | 4 ++-- .../aweXpect.Frameworks.XUnit3.Core.Tests.csproj} | 0 .../XUnit3TestFrameworkTests.cs | 4 ++-- .../aweXpect.Frameworks.XUnit3.Tests.csproj} | 0 aweXpect.sln | 14 +++++++------- 18 files changed, 33 insertions(+), 33 deletions(-) rename Tests/Frameworks/{aweXpect.Frameworks.MsTestAdapter.Tests => aweXpect.Frameworks.MsTest.Tests}/MsTestFrameworkTests.cs (94%) rename Tests/Frameworks/{aweXpect.Frameworks.MsTestAdapter.Tests/aweXpect.Frameworks.MsTestAdapter.Tests.csproj => aweXpect.Frameworks.MsTest.Tests/aweXpect.Frameworks.MsTest.Tests.csproj} (100%) rename Tests/Frameworks/{aweXpect.Frameworks.NUnit3Adapter.Tests => aweXpect.Frameworks.NUnit3.Tests}/NUnit3TestFrameworkTests.cs (94%) rename Tests/Frameworks/{aweXpect.Frameworks.NUnit3Adapter.Tests/aweXpect.Frameworks.NUnit3Adapter.Tests.csproj => aweXpect.Frameworks.NUnit3.Tests/aweXpect.Frameworks.NUnit3.Tests.csproj} (100%) rename Tests/Frameworks/{aweXpect.Frameworks.NUnit4Adapter.Tests => aweXpect.Frameworks.NUnit4.Tests}/NUnit4TestFrameworkTests.cs (94%) rename Tests/Frameworks/{aweXpect.Frameworks.NUnit4Adapter.Tests/aweXpect.Frameworks.NUnit4Adapter.Tests.csproj => aweXpect.Frameworks.NUnit4.Tests/aweXpect.Frameworks.NUnit4.Tests.csproj} (100%) rename Tests/Frameworks/{aweXpect.Frameworks.TUnitAdapter.Tests => aweXpect.Frameworks.TUnit.Tests}/TUnitTestFrameworkTests.cs (89%) rename Tests/Frameworks/{aweXpect.Frameworks.TUnitAdapter.Tests/aweXpect.Frameworks.TUnitAdapter.Tests.csproj => aweXpect.Frameworks.TUnit.Tests/aweXpect.Frameworks.TUnit.Tests.csproj} (100%) rename Tests/Frameworks/{aweXpect.Frameworks.XUnit2Adapter.Tests => aweXpect.Frameworks.XUnit2.Tests}/XUnit2TestFrameworkTests.cs (89%) rename Tests/Frameworks/{aweXpect.Frameworks.XUnit2Adapter.Tests/aweXpect.Frameworks.XUnit2Adapter.Tests.csproj => aweXpect.Frameworks.XUnit2.Tests/aweXpect.Frameworks.XUnit2.Tests.csproj} (100%) rename Tests/Frameworks/{aweXpect.Frameworks.XUnit3Adapter.Core.Tests => aweXpect.Frameworks.XUnit3.Core.Tests}/XUnit3CoreTestFrameworkTests.cs (91%) rename Tests/Frameworks/{aweXpect.Frameworks.XUnit3Adapter.Core.Tests/aweXpect.Frameworks.XUnit3Adapter.Core.Tests.csproj => aweXpect.Frameworks.XUnit3.Core.Tests/aweXpect.Frameworks.XUnit3.Core.Tests.csproj} (100%) rename Tests/Frameworks/{aweXpect.Frameworks.XUnit3Adapter.Tests => aweXpect.Frameworks.XUnit3.Tests}/XUnit3TestFrameworkTests.cs (91%) rename Tests/Frameworks/{aweXpect.Frameworks.XUnit3Adapter.Tests/aweXpect.Frameworks.XUnit3Adapter.Tests.csproj => aweXpect.Frameworks.XUnit3.Tests/aweXpect.Frameworks.XUnit3.Tests.csproj} (100%) diff --git a/Pipeline/Build.FrameworkTest.cs b/Pipeline/Build.FrameworkTest.cs index 0c7fdf166..0fb8f80ad 100644 --- a/Pipeline/Build.FrameworkTest.cs +++ b/Pipeline/Build.FrameworkTest.cs @@ -15,11 +15,11 @@ partial class Build Project[] FrameworkUnitTestProjects => [ Solution.Tests.Frameworks.aweXpect_Frameworks_Fallback_Tests, - Solution.Tests.Frameworks.aweXpect_Frameworks_MsTestAdapter_Tests, - Solution.Tests.Frameworks.aweXpect_Frameworks_NUnit4Adapter_Tests, - Solution.Tests.Frameworks.aweXpect_Frameworks_NUnit3Adapter_Tests, - Solution.Tests.Frameworks.aweXpect_Frameworks_XUnit2Adapter_Tests, - Solution.Tests.Frameworks.aweXpect_Frameworks_XUnit3Adapter_Core_Tests, + Solution.Tests.Frameworks.aweXpect_Frameworks_MsTest_Tests, + Solution.Tests.Frameworks.aweXpect_Frameworks_NUnit4_Tests, + Solution.Tests.Frameworks.aweXpect_Frameworks_NUnit3_Tests, + Solution.Tests.Frameworks.aweXpect_Frameworks_Xunit2_Tests, + Solution.Tests.Frameworks.aweXpect_Frameworks_Xunit3_Core_Tests, ]; Target TestFrameworks => _ => _ @@ -70,7 +70,7 @@ from framework in supportedFrameworks { Project[] projects = [ - Solution.Tests.Frameworks.aweXpect_Frameworks_TUnitAdapter_Tests, + Solution.Tests.Frameworks.aweXpect_Frameworks_Tunit_Tests, ]; var testCombinations = @@ -113,7 +113,7 @@ from framework in frameworks { Project[] projects = [ - Solution.Tests.Frameworks.aweXpect_Frameworks_XUnit3Adapter_Tests, + Solution.Tests.Frameworks.aweXpect_Frameworks_Xunit3_Tests, ]; var testCombinations = diff --git a/Source/aweXpect.Frameworks/FrameworkGenerator.cs b/Source/aweXpect.Frameworks/FrameworkGenerator.cs index 4ef50df4a..d595d1374 100644 --- a/Source/aweXpect.Frameworks/FrameworkGenerator.cs +++ b/Source/aweXpect.Frameworks/FrameworkGenerator.cs @@ -65,7 +65,7 @@ void IIncrementalGenerator.Initialize(IncrementalGeneratorInitializationContext namespace aweXpect.Frameworks; - internal class MsTest() : ITestFrameworkAdapter + internal class MsTestAdapter() : ITestFrameworkAdapter { /// public bool IsAvailable { get; } = true; @@ -98,7 +98,7 @@ public void Inconclusive(string message) namespace aweXpect.Frameworks; - internal class Nunit2() : ITestFrameworkAdapter + internal class NunitAdapter() : ITestFrameworkAdapter { /// public bool IsAvailable { get; } = true; @@ -131,7 +131,7 @@ public void Inconclusive(string message) namespace aweXpect.Frameworks; - internal class TUnit() : ITestFrameworkAdapter + internal class TUnitAdapter() : ITestFrameworkAdapter { /// public bool IsAvailable { get; } = true; @@ -152,7 +152,7 @@ public void Fail(string message) [DoesNotReturn] [StackTraceHidden] public void Inconclusive(string message) - => throw new TUnit.Core.Exceptions.InconclusiveTestException(message); + => throw new TUnit.Core.Exceptions.InconclusiveTestException(message, null); } """; @@ -164,7 +164,7 @@ public void Inconclusive(string message) namespace aweXpect.Frameworks; - internal class Xunit2() : ITestFrameworkAdapter + internal class Xunit2Adapter() : ITestFrameworkAdapter { /// public bool IsAvailable { get; } = true; @@ -199,7 +199,7 @@ public void Inconclusive(string message) namespace aweXpect.Frameworks; - internal class Xunit3() : ITestFrameworkAdapter + internal class Xunit3Adapter() : ITestFrameworkAdapter { /// public bool IsAvailable { get; } = true; @@ -250,7 +250,7 @@ private interface ITestTimeoutException; namespace aweXpect.Frameworks; - internal class Xunit3() : ITestFrameworkAdapter + internal class Xunit3Adapter() : ITestFrameworkAdapter { /// public bool IsAvailable { get; } = true; diff --git a/Source/aweXpect.Frameworks/Properties/launchSettings.json b/Source/aweXpect.Frameworks/Properties/launchSettings.json index 92ffbcfed..bd75a0398 100644 --- a/Source/aweXpect.Frameworks/Properties/launchSettings.json +++ b/Source/aweXpect.Frameworks/Properties/launchSettings.json @@ -3,7 +3,7 @@ "profiles": { "Generators": { "commandName": "DebugRoslynComponent", - "targetProject": "../../Tests/Frameworks/aweXpect.Frameworks.XUnit3.Core.Tests/aweXpect.Frameworks.XUnit3.Core.Tests.csproj" + "targetProject": "../../Tests/Frameworks/aweXpect.Frameworks.TUnit.Tests/aweXpect.Frameworks.TUnit.Tests.csproj" } } } diff --git a/Tests/Frameworks/aweXpect.Frameworks.MsTestAdapter.Tests/MsTestFrameworkTests.cs b/Tests/Frameworks/aweXpect.Frameworks.MsTest.Tests/MsTestFrameworkTests.cs similarity index 94% rename from Tests/Frameworks/aweXpect.Frameworks.MsTestAdapter.Tests/MsTestFrameworkTests.cs rename to Tests/Frameworks/aweXpect.Frameworks.MsTest.Tests/MsTestFrameworkTests.cs index f3d417eba..34be1ffaf 100644 --- a/Tests/Frameworks/aweXpect.Frameworks.MsTestAdapter.Tests/MsTestFrameworkTests.cs +++ b/Tests/Frameworks/aweXpect.Frameworks.MsTest.Tests/MsTestFrameworkTests.cs @@ -1,7 +1,7 @@ using System.Threading.Tasks; using Microsoft.VisualStudio.TestTools.UnitTesting; -namespace aweXpect.Frameworks.MsTestAdapter.Tests; +namespace aweXpect.Frameworks.MsTest.Tests; [TestClass] public sealed class MsTestFrameworkTests diff --git a/Tests/Frameworks/aweXpect.Frameworks.MsTestAdapter.Tests/aweXpect.Frameworks.MsTestAdapter.Tests.csproj b/Tests/Frameworks/aweXpect.Frameworks.MsTest.Tests/aweXpect.Frameworks.MsTest.Tests.csproj similarity index 100% rename from Tests/Frameworks/aweXpect.Frameworks.MsTestAdapter.Tests/aweXpect.Frameworks.MsTestAdapter.Tests.csproj rename to Tests/Frameworks/aweXpect.Frameworks.MsTest.Tests/aweXpect.Frameworks.MsTest.Tests.csproj diff --git a/Tests/Frameworks/aweXpect.Frameworks.NUnit3Adapter.Tests/NUnit3TestFrameworkTests.cs b/Tests/Frameworks/aweXpect.Frameworks.NUnit3.Tests/NUnit3TestFrameworkTests.cs similarity index 94% rename from Tests/Frameworks/aweXpect.Frameworks.NUnit3Adapter.Tests/NUnit3TestFrameworkTests.cs rename to Tests/Frameworks/aweXpect.Frameworks.NUnit3.Tests/NUnit3TestFrameworkTests.cs index 4045dd85b..b2e01c6e1 100644 --- a/Tests/Frameworks/aweXpect.Frameworks.NUnit3Adapter.Tests/NUnit3TestFrameworkTests.cs +++ b/Tests/Frameworks/aweXpect.Frameworks.NUnit3.Tests/NUnit3TestFrameworkTests.cs @@ -1,7 +1,7 @@ using System.Threading.Tasks; using NUnit.Framework; -namespace aweXpect.Frameworks.NUnit3Adapter.Tests; +namespace aweXpect.Frameworks.NUnit3.Tests; public sealed class NUnit3TestFrameworkTests { diff --git a/Tests/Frameworks/aweXpect.Frameworks.NUnit3Adapter.Tests/aweXpect.Frameworks.NUnit3Adapter.Tests.csproj b/Tests/Frameworks/aweXpect.Frameworks.NUnit3.Tests/aweXpect.Frameworks.NUnit3.Tests.csproj similarity index 100% rename from Tests/Frameworks/aweXpect.Frameworks.NUnit3Adapter.Tests/aweXpect.Frameworks.NUnit3Adapter.Tests.csproj rename to Tests/Frameworks/aweXpect.Frameworks.NUnit3.Tests/aweXpect.Frameworks.NUnit3.Tests.csproj diff --git a/Tests/Frameworks/aweXpect.Frameworks.NUnit4Adapter.Tests/NUnit4TestFrameworkTests.cs b/Tests/Frameworks/aweXpect.Frameworks.NUnit4.Tests/NUnit4TestFrameworkTests.cs similarity index 94% rename from Tests/Frameworks/aweXpect.Frameworks.NUnit4Adapter.Tests/NUnit4TestFrameworkTests.cs rename to Tests/Frameworks/aweXpect.Frameworks.NUnit4.Tests/NUnit4TestFrameworkTests.cs index 24f12bdbc..e544deae5 100644 --- a/Tests/Frameworks/aweXpect.Frameworks.NUnit4Adapter.Tests/NUnit4TestFrameworkTests.cs +++ b/Tests/Frameworks/aweXpect.Frameworks.NUnit4.Tests/NUnit4TestFrameworkTests.cs @@ -1,7 +1,7 @@ using System.Threading.Tasks; using NUnit.Framework; -namespace aweXpect.Frameworks.NUnit4Adapter.Tests; +namespace aweXpect.Frameworks.NUnit4.Tests; public sealed class NUnit4TestFrameworkTests { diff --git a/Tests/Frameworks/aweXpect.Frameworks.NUnit4Adapter.Tests/aweXpect.Frameworks.NUnit4Adapter.Tests.csproj b/Tests/Frameworks/aweXpect.Frameworks.NUnit4.Tests/aweXpect.Frameworks.NUnit4.Tests.csproj similarity index 100% rename from Tests/Frameworks/aweXpect.Frameworks.NUnit4Adapter.Tests/aweXpect.Frameworks.NUnit4Adapter.Tests.csproj rename to Tests/Frameworks/aweXpect.Frameworks.NUnit4.Tests/aweXpect.Frameworks.NUnit4.Tests.csproj diff --git a/Tests/Frameworks/aweXpect.Frameworks.TUnitAdapter.Tests/TUnitTestFrameworkTests.cs b/Tests/Frameworks/aweXpect.Frameworks.TUnit.Tests/TUnitTestFrameworkTests.cs similarity index 89% rename from Tests/Frameworks/aweXpect.Frameworks.TUnitAdapter.Tests/TUnitTestFrameworkTests.cs rename to Tests/Frameworks/aweXpect.Frameworks.TUnit.Tests/TUnitTestFrameworkTests.cs index fb690289d..8417ded86 100644 --- a/Tests/Frameworks/aweXpect.Frameworks.TUnitAdapter.Tests/TUnitTestFrameworkTests.cs +++ b/Tests/Frameworks/aweXpect.Frameworks.TUnit.Tests/TUnitTestFrameworkTests.cs @@ -2,9 +2,9 @@ using TUnit.Assertions.Exceptions; using TUnit.Core.Exceptions; -namespace aweXpect.Frameworks.TUnitAdapter.Tests; +namespace aweXpect.Frameworks.Tunit.Tests; -public sealed class TUnitTestFrameworkTests +public sealed class TunitTestFrameworkTests { [Test] public async Task OnFail_WhenUsingXunit2AsTestFramework_ShouldThrowXunitException() diff --git a/Tests/Frameworks/aweXpect.Frameworks.TUnitAdapter.Tests/aweXpect.Frameworks.TUnitAdapter.Tests.csproj b/Tests/Frameworks/aweXpect.Frameworks.TUnit.Tests/aweXpect.Frameworks.TUnit.Tests.csproj similarity index 100% rename from Tests/Frameworks/aweXpect.Frameworks.TUnitAdapter.Tests/aweXpect.Frameworks.TUnitAdapter.Tests.csproj rename to Tests/Frameworks/aweXpect.Frameworks.TUnit.Tests/aweXpect.Frameworks.TUnit.Tests.csproj diff --git a/Tests/Frameworks/aweXpect.Frameworks.XUnit2Adapter.Tests/XUnit2TestFrameworkTests.cs b/Tests/Frameworks/aweXpect.Frameworks.XUnit2.Tests/XUnit2TestFrameworkTests.cs similarity index 89% rename from Tests/Frameworks/aweXpect.Frameworks.XUnit2Adapter.Tests/XUnit2TestFrameworkTests.cs rename to Tests/Frameworks/aweXpect.Frameworks.XUnit2.Tests/XUnit2TestFrameworkTests.cs index c1fb573ac..7cf569914 100644 --- a/Tests/Frameworks/aweXpect.Frameworks.XUnit2Adapter.Tests/XUnit2TestFrameworkTests.cs +++ b/Tests/Frameworks/aweXpect.Frameworks.XUnit2.Tests/XUnit2TestFrameworkTests.cs @@ -2,9 +2,9 @@ using Xunit; using Xunit.Sdk; -namespace aweXpect.Frameworks.XUnit2Adapter.Tests; +namespace aweXpect.Frameworks.Xunit2.Tests; -public sealed class XUnit2TestFrameworkTests +public sealed class Xunit2TestFrameworkTests { [Fact] public async Task OnFail_WhenUsingXunit2AsTestFramework_ShouldThrowXunitException() diff --git a/Tests/Frameworks/aweXpect.Frameworks.XUnit2Adapter.Tests/aweXpect.Frameworks.XUnit2Adapter.Tests.csproj b/Tests/Frameworks/aweXpect.Frameworks.XUnit2.Tests/aweXpect.Frameworks.XUnit2.Tests.csproj similarity index 100% rename from Tests/Frameworks/aweXpect.Frameworks.XUnit2Adapter.Tests/aweXpect.Frameworks.XUnit2Adapter.Tests.csproj rename to Tests/Frameworks/aweXpect.Frameworks.XUnit2.Tests/aweXpect.Frameworks.XUnit2.Tests.csproj diff --git a/Tests/Frameworks/aweXpect.Frameworks.XUnit3Adapter.Core.Tests/XUnit3CoreTestFrameworkTests.cs b/Tests/Frameworks/aweXpect.Frameworks.XUnit3.Core.Tests/XUnit3CoreTestFrameworkTests.cs similarity index 91% rename from Tests/Frameworks/aweXpect.Frameworks.XUnit3Adapter.Core.Tests/XUnit3CoreTestFrameworkTests.cs rename to Tests/Frameworks/aweXpect.Frameworks.XUnit3.Core.Tests/XUnit3CoreTestFrameworkTests.cs index 00dcf1567..72e0e3b6a 100644 --- a/Tests/Frameworks/aweXpect.Frameworks.XUnit3Adapter.Core.Tests/XUnit3CoreTestFrameworkTests.cs +++ b/Tests/Frameworks/aweXpect.Frameworks.XUnit3.Core.Tests/XUnit3CoreTestFrameworkTests.cs @@ -3,9 +3,9 @@ using System.Threading.Tasks; using Xunit; -namespace aweXpect.Frameworks.XUnit3Adapter.Core.Tests; +namespace aweXpect.Frameworks.Xunit3.Core.Tests; -public class XUnit3TestFrameworkTests +public class Xunit3TestFrameworkTests { [Fact] public async Task OnFail_WhenUsingXunit3AsTestFramework_ShouldThrowXunitException() diff --git a/Tests/Frameworks/aweXpect.Frameworks.XUnit3Adapter.Core.Tests/aweXpect.Frameworks.XUnit3Adapter.Core.Tests.csproj b/Tests/Frameworks/aweXpect.Frameworks.XUnit3.Core.Tests/aweXpect.Frameworks.XUnit3.Core.Tests.csproj similarity index 100% rename from Tests/Frameworks/aweXpect.Frameworks.XUnit3Adapter.Core.Tests/aweXpect.Frameworks.XUnit3Adapter.Core.Tests.csproj rename to Tests/Frameworks/aweXpect.Frameworks.XUnit3.Core.Tests/aweXpect.Frameworks.XUnit3.Core.Tests.csproj diff --git a/Tests/Frameworks/aweXpect.Frameworks.XUnit3Adapter.Tests/XUnit3TestFrameworkTests.cs b/Tests/Frameworks/aweXpect.Frameworks.XUnit3.Tests/XUnit3TestFrameworkTests.cs similarity index 91% rename from Tests/Frameworks/aweXpect.Frameworks.XUnit3Adapter.Tests/XUnit3TestFrameworkTests.cs rename to Tests/Frameworks/aweXpect.Frameworks.XUnit3.Tests/XUnit3TestFrameworkTests.cs index b7f71b1b2..d56ad2cb6 100644 --- a/Tests/Frameworks/aweXpect.Frameworks.XUnit3Adapter.Tests/XUnit3TestFrameworkTests.cs +++ b/Tests/Frameworks/aweXpect.Frameworks.XUnit3.Tests/XUnit3TestFrameworkTests.cs @@ -3,9 +3,9 @@ using Xunit; using Xunit.Sdk; -namespace aweXpect.Frameworks.XUnit3Adapter.Tests; +namespace aweXpect.Frameworks.Xunit3.Tests; -public class XUnit3TestFrameworkTests +public class Xunit3TestFrameworkTests { [Fact] public async Task OnFail_WhenUsingXunit3AsTestFramework_ShouldThrowXunitException() diff --git a/Tests/Frameworks/aweXpect.Frameworks.XUnit3Adapter.Tests/aweXpect.Frameworks.XUnit3Adapter.Tests.csproj b/Tests/Frameworks/aweXpect.Frameworks.XUnit3.Tests/aweXpect.Frameworks.XUnit3.Tests.csproj similarity index 100% rename from Tests/Frameworks/aweXpect.Frameworks.XUnit3Adapter.Tests/aweXpect.Frameworks.XUnit3Adapter.Tests.csproj rename to Tests/Frameworks/aweXpect.Frameworks.XUnit3.Tests/aweXpect.Frameworks.XUnit3.Tests.csproj diff --git a/aweXpect.sln b/aweXpect.sln index 23f92e2dd..bbe94e9bb 100644 --- a/aweXpect.sln +++ b/aweXpect.sln @@ -63,13 +63,13 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Frameworks", "Frameworks", Tests\Frameworks\Directory.Build.props = Tests\Frameworks\Directory.Build.props EndProjectSection EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Frameworks.NUnit3Adapter.Tests", "Tests\Frameworks\aweXpect.Frameworks.NUnit3Adapter.Tests\aweXpect.Frameworks.NUnit3Adapter.Tests.csproj", "{8879B8B8-E9DE-4432-A452-7B234B65C924}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Frameworks.NUnit3.Tests", "Tests\Frameworks\aweXpect.Frameworks.NUnit3.Tests\aweXpect.Frameworks.NUnit3.Tests.csproj", "{8879B8B8-E9DE-4432-A452-7B234B65C924}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Frameworks.NUnit4Adapter.Tests", "Tests\Frameworks\aweXpect.Frameworks.NUnit4Adapter.Tests\aweXpect.Frameworks.NUnit4Adapter.Tests.csproj", "{9ABF8E11-7975-43F2-8418-1F6D9E5E4D37}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Frameworks.NUnit4.Tests", "Tests\Frameworks\aweXpect.Frameworks.NUnit4.Tests\aweXpect.Frameworks.NUnit4.Tests.csproj", "{9ABF8E11-7975-43F2-8418-1F6D9E5E4D37}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Frameworks.TUnitAdapter.Tests", "Tests\Frameworks\aweXpect.Frameworks.TUnitAdapter.Tests\aweXpect.Frameworks.TUnitAdapter.Tests.csproj", "{532FAE88-3327-4B1B-B3B7-43D439A7CEE8}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Frameworks.Tunit.Tests", "Tests\Frameworks\aweXpect.Frameworks.Tunit.Tests\aweXpect.Frameworks.Tunit.Tests.csproj", "{532FAE88-3327-4B1B-B3B7-43D439A7CEE8}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Frameworks.XUnit2Adapter.Tests", "Tests\Frameworks\aweXpect.Frameworks.XUnit2Adapter.Tests\aweXpect.Frameworks.XUnit2Adapter.Tests.csproj", "{3E369992-EC14-4874-B793-7FCF5D9DB660}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Frameworks.Xunit2.Tests", "Tests\Frameworks\aweXpect.Frameworks.Xunit2.Tests\aweXpect.Frameworks.Xunit2.Tests.csproj", "{3E369992-EC14-4874-B793-7FCF5D9DB660}" EndProject Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Benchmarks", "Benchmarks", "{FA002813-92DA-46AC-8F34-DA739B4380C8}" EndProject @@ -77,11 +77,11 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Benchmarks", "Benc EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Frameworks.Fallback.Tests", "Tests\Frameworks\aweXpect.Frameworks.Fallback.Tests\aweXpect.Frameworks.Fallback.Tests.csproj", "{A672BA16-8BE2-4E4F-A6DD-59911284EDF8}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Frameworks.MsTestAdapter.Tests", "Tests\Frameworks\aweXpect.Frameworks.MsTestAdapter.Tests\aweXpect.Frameworks.MsTestAdapter.Tests.csproj", "{1EC393AD-DE25-4C0E-A8B5-B19A2843A4E2}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Frameworks.MsTest.Tests", "Tests\Frameworks\aweXpect.Frameworks.MsTest.Tests\aweXpect.Frameworks.MsTest.Tests.csproj", "{1EC393AD-DE25-4C0E-A8B5-B19A2843A4E2}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Frameworks.XUnit3Adapter.Tests", "Tests\Frameworks\aweXpect.Frameworks.XUnit3Adapter.Tests\aweXpect.Frameworks.XUnit3Adapter.Tests.csproj", "{5D0060AC-986B-4C28-A871-BA0EC9223DA7}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Frameworks.Xunit3.Tests", "Tests\Frameworks\aweXpect.Frameworks.Xunit3.Tests\aweXpect.Frameworks.Xunit3.Tests.csproj", "{5D0060AC-986B-4C28-A871-BA0EC9223DA7}" EndProject -Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Frameworks.XUnit3Adapter.Core.Tests", "Tests\Frameworks\aweXpect.Frameworks.XUnit3Adapter.Core.Tests\aweXpect.Frameworks.XUnit3Adapter.Core.Tests.csproj", "{A815B631-402C-44B0-80B3-50B6EAFD8078}" +Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Frameworks.Xunit3.Core.Tests", "Tests\Frameworks\aweXpect.Frameworks.Xunit3.Core.Tests\aweXpect.Frameworks.Xunit3.Core.Tests.csproj", "{A815B631-402C-44B0-80B3-50B6EAFD8078}" EndProject Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "aweXpect.Internal.Tests", "Tests\aweXpect.Internal.Tests\aweXpect.Internal.Tests.csproj", "{4A940BE9-D9E0-4004-89D4-5D6E8CB37208}" EndProject From 9260dd6a5cdf10603f8720fb4187a4b32b81858d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Breu=C3=9F=20Valentin?= Date: Tue, 14 Oct 2025 15:49:13 +0200 Subject: [PATCH 4/6] Rename (1) --- .../TunitTestFrameworkTests.cs} | 0 .../aweXpect.Frameworks.Tunit.Tests.csproj} | 0 .../Xunit2TestFrameworkTests.cs} | 0 .../aweXpect.Frameworks.Xunit2.Tests.csproj} | 0 .../Xunit3CoreTestFrameworkTests.cs} | 0 .../aweXpect.Frameworks.Xunit3.Core.Tests.csproj} | 0 .../Xunit3TestFrameworkTests.cs} | 0 .../aweXpect.Frameworks.Xunit3.Tests.csproj} | 0 8 files changed, 0 insertions(+), 0 deletions(-) rename Tests/Frameworks/{aweXpect.Frameworks.TUnit.Tests/TUnitTestFrameworkTests.cs => aweXpect.Frameworks.Tunit.Tests8/TunitTestFrameworkTests.cs} (100%) rename Tests/Frameworks/{aweXpect.Frameworks.TUnit.Tests/aweXpect.Frameworks.TUnit.Tests.csproj => aweXpect.Frameworks.Tunit.Tests8/aweXpect.Frameworks.Tunit.Tests.csproj} (100%) rename Tests/Frameworks/{aweXpect.Frameworks.XUnit2.Tests/XUnit2TestFrameworkTests.cs => aweXpect.Frameworks.Xunit2.Tests8/Xunit2TestFrameworkTests.cs} (100%) rename Tests/Frameworks/{aweXpect.Frameworks.XUnit2.Tests/aweXpect.Frameworks.XUnit2.Tests.csproj => aweXpect.Frameworks.Xunit2.Tests8/aweXpect.Frameworks.Xunit2.Tests.csproj} (100%) rename Tests/Frameworks/{aweXpect.Frameworks.XUnit3.Core.Tests/XUnit3CoreTestFrameworkTests.cs => aweXpect.Frameworks.Xunit3.Core.Tests8/Xunit3CoreTestFrameworkTests.cs} (100%) rename Tests/Frameworks/{aweXpect.Frameworks.XUnit3.Core.Tests/aweXpect.Frameworks.XUnit3.Core.Tests.csproj => aweXpect.Frameworks.Xunit3.Core.Tests8/aweXpect.Frameworks.Xunit3.Core.Tests.csproj} (100%) rename Tests/Frameworks/{aweXpect.Frameworks.XUnit3.Tests/XUnit3TestFrameworkTests.cs => aweXpect.Frameworks.Xunit3.Tests8/Xunit3TestFrameworkTests.cs} (100%) rename Tests/Frameworks/{aweXpect.Frameworks.XUnit3.Tests/aweXpect.Frameworks.XUnit3.Tests.csproj => aweXpect.Frameworks.Xunit3.Tests8/aweXpect.Frameworks.Xunit3.Tests.csproj} (100%) diff --git a/Tests/Frameworks/aweXpect.Frameworks.TUnit.Tests/TUnitTestFrameworkTests.cs b/Tests/Frameworks/aweXpect.Frameworks.Tunit.Tests8/TunitTestFrameworkTests.cs similarity index 100% rename from Tests/Frameworks/aweXpect.Frameworks.TUnit.Tests/TUnitTestFrameworkTests.cs rename to Tests/Frameworks/aweXpect.Frameworks.Tunit.Tests8/TunitTestFrameworkTests.cs diff --git a/Tests/Frameworks/aweXpect.Frameworks.TUnit.Tests/aweXpect.Frameworks.TUnit.Tests.csproj b/Tests/Frameworks/aweXpect.Frameworks.Tunit.Tests8/aweXpect.Frameworks.Tunit.Tests.csproj similarity index 100% rename from Tests/Frameworks/aweXpect.Frameworks.TUnit.Tests/aweXpect.Frameworks.TUnit.Tests.csproj rename to Tests/Frameworks/aweXpect.Frameworks.Tunit.Tests8/aweXpect.Frameworks.Tunit.Tests.csproj diff --git a/Tests/Frameworks/aweXpect.Frameworks.XUnit2.Tests/XUnit2TestFrameworkTests.cs b/Tests/Frameworks/aweXpect.Frameworks.Xunit2.Tests8/Xunit2TestFrameworkTests.cs similarity index 100% rename from Tests/Frameworks/aweXpect.Frameworks.XUnit2.Tests/XUnit2TestFrameworkTests.cs rename to Tests/Frameworks/aweXpect.Frameworks.Xunit2.Tests8/Xunit2TestFrameworkTests.cs diff --git a/Tests/Frameworks/aweXpect.Frameworks.XUnit2.Tests/aweXpect.Frameworks.XUnit2.Tests.csproj b/Tests/Frameworks/aweXpect.Frameworks.Xunit2.Tests8/aweXpect.Frameworks.Xunit2.Tests.csproj similarity index 100% rename from Tests/Frameworks/aweXpect.Frameworks.XUnit2.Tests/aweXpect.Frameworks.XUnit2.Tests.csproj rename to Tests/Frameworks/aweXpect.Frameworks.Xunit2.Tests8/aweXpect.Frameworks.Xunit2.Tests.csproj diff --git a/Tests/Frameworks/aweXpect.Frameworks.XUnit3.Core.Tests/XUnit3CoreTestFrameworkTests.cs b/Tests/Frameworks/aweXpect.Frameworks.Xunit3.Core.Tests8/Xunit3CoreTestFrameworkTests.cs similarity index 100% rename from Tests/Frameworks/aweXpect.Frameworks.XUnit3.Core.Tests/XUnit3CoreTestFrameworkTests.cs rename to Tests/Frameworks/aweXpect.Frameworks.Xunit3.Core.Tests8/Xunit3CoreTestFrameworkTests.cs diff --git a/Tests/Frameworks/aweXpect.Frameworks.XUnit3.Core.Tests/aweXpect.Frameworks.XUnit3.Core.Tests.csproj b/Tests/Frameworks/aweXpect.Frameworks.Xunit3.Core.Tests8/aweXpect.Frameworks.Xunit3.Core.Tests.csproj similarity index 100% rename from Tests/Frameworks/aweXpect.Frameworks.XUnit3.Core.Tests/aweXpect.Frameworks.XUnit3.Core.Tests.csproj rename to Tests/Frameworks/aweXpect.Frameworks.Xunit3.Core.Tests8/aweXpect.Frameworks.Xunit3.Core.Tests.csproj diff --git a/Tests/Frameworks/aweXpect.Frameworks.XUnit3.Tests/XUnit3TestFrameworkTests.cs b/Tests/Frameworks/aweXpect.Frameworks.Xunit3.Tests8/Xunit3TestFrameworkTests.cs similarity index 100% rename from Tests/Frameworks/aweXpect.Frameworks.XUnit3.Tests/XUnit3TestFrameworkTests.cs rename to Tests/Frameworks/aweXpect.Frameworks.Xunit3.Tests8/Xunit3TestFrameworkTests.cs diff --git a/Tests/Frameworks/aweXpect.Frameworks.XUnit3.Tests/aweXpect.Frameworks.XUnit3.Tests.csproj b/Tests/Frameworks/aweXpect.Frameworks.Xunit3.Tests8/aweXpect.Frameworks.Xunit3.Tests.csproj similarity index 100% rename from Tests/Frameworks/aweXpect.Frameworks.XUnit3.Tests/aweXpect.Frameworks.XUnit3.Tests.csproj rename to Tests/Frameworks/aweXpect.Frameworks.Xunit3.Tests8/aweXpect.Frameworks.Xunit3.Tests.csproj From e4605131827ea96d40c7a134515caa9b1bb78669 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Breu=C3=9F=20Valentin?= Date: Tue, 14 Oct 2025 15:49:48 +0200 Subject: [PATCH 5/6] Rename (2) --- .../TunitTestFrameworkTests.cs | 0 .../aweXpect.Frameworks.Tunit.Tests.csproj | 0 .../Xunit2TestFrameworkTests.cs | 0 .../aweXpect.Frameworks.Xunit2.Tests.csproj | 0 .../Xunit3CoreTestFrameworkTests.cs | 0 .../aweXpect.Frameworks.Xunit3.Core.Tests.csproj | 0 .../Xunit3TestFrameworkTests.cs | 0 .../aweXpect.Frameworks.Xunit3.Tests.csproj | 0 8 files changed, 0 insertions(+), 0 deletions(-) rename Tests/Frameworks/{aweXpect.Frameworks.Tunit.Tests8 => aweXpect.Frameworks.Tunit.Tests}/TunitTestFrameworkTests.cs (100%) rename Tests/Frameworks/{aweXpect.Frameworks.Tunit.Tests8 => aweXpect.Frameworks.Tunit.Tests}/aweXpect.Frameworks.Tunit.Tests.csproj (100%) rename Tests/Frameworks/{aweXpect.Frameworks.Xunit2.Tests8 => aweXpect.Frameworks.Xunit2.Tests}/Xunit2TestFrameworkTests.cs (100%) rename Tests/Frameworks/{aweXpect.Frameworks.Xunit2.Tests8 => aweXpect.Frameworks.Xunit2.Tests}/aweXpect.Frameworks.Xunit2.Tests.csproj (100%) rename Tests/Frameworks/{aweXpect.Frameworks.Xunit3.Core.Tests8 => aweXpect.Frameworks.Xunit3.Core.Tests}/Xunit3CoreTestFrameworkTests.cs (100%) rename Tests/Frameworks/{aweXpect.Frameworks.Xunit3.Core.Tests8 => aweXpect.Frameworks.Xunit3.Core.Tests}/aweXpect.Frameworks.Xunit3.Core.Tests.csproj (100%) rename Tests/Frameworks/{aweXpect.Frameworks.Xunit3.Tests8 => aweXpect.Frameworks.Xunit3.Tests}/Xunit3TestFrameworkTests.cs (100%) rename Tests/Frameworks/{aweXpect.Frameworks.Xunit3.Tests8 => aweXpect.Frameworks.Xunit3.Tests}/aweXpect.Frameworks.Xunit3.Tests.csproj (100%) diff --git a/Tests/Frameworks/aweXpect.Frameworks.Tunit.Tests8/TunitTestFrameworkTests.cs b/Tests/Frameworks/aweXpect.Frameworks.Tunit.Tests/TunitTestFrameworkTests.cs similarity index 100% rename from Tests/Frameworks/aweXpect.Frameworks.Tunit.Tests8/TunitTestFrameworkTests.cs rename to Tests/Frameworks/aweXpect.Frameworks.Tunit.Tests/TunitTestFrameworkTests.cs diff --git a/Tests/Frameworks/aweXpect.Frameworks.Tunit.Tests8/aweXpect.Frameworks.Tunit.Tests.csproj b/Tests/Frameworks/aweXpect.Frameworks.Tunit.Tests/aweXpect.Frameworks.Tunit.Tests.csproj similarity index 100% rename from Tests/Frameworks/aweXpect.Frameworks.Tunit.Tests8/aweXpect.Frameworks.Tunit.Tests.csproj rename to Tests/Frameworks/aweXpect.Frameworks.Tunit.Tests/aweXpect.Frameworks.Tunit.Tests.csproj diff --git a/Tests/Frameworks/aweXpect.Frameworks.Xunit2.Tests8/Xunit2TestFrameworkTests.cs b/Tests/Frameworks/aweXpect.Frameworks.Xunit2.Tests/Xunit2TestFrameworkTests.cs similarity index 100% rename from Tests/Frameworks/aweXpect.Frameworks.Xunit2.Tests8/Xunit2TestFrameworkTests.cs rename to Tests/Frameworks/aweXpect.Frameworks.Xunit2.Tests/Xunit2TestFrameworkTests.cs diff --git a/Tests/Frameworks/aweXpect.Frameworks.Xunit2.Tests8/aweXpect.Frameworks.Xunit2.Tests.csproj b/Tests/Frameworks/aweXpect.Frameworks.Xunit2.Tests/aweXpect.Frameworks.Xunit2.Tests.csproj similarity index 100% rename from Tests/Frameworks/aweXpect.Frameworks.Xunit2.Tests8/aweXpect.Frameworks.Xunit2.Tests.csproj rename to Tests/Frameworks/aweXpect.Frameworks.Xunit2.Tests/aweXpect.Frameworks.Xunit2.Tests.csproj diff --git a/Tests/Frameworks/aweXpect.Frameworks.Xunit3.Core.Tests8/Xunit3CoreTestFrameworkTests.cs b/Tests/Frameworks/aweXpect.Frameworks.Xunit3.Core.Tests/Xunit3CoreTestFrameworkTests.cs similarity index 100% rename from Tests/Frameworks/aweXpect.Frameworks.Xunit3.Core.Tests8/Xunit3CoreTestFrameworkTests.cs rename to Tests/Frameworks/aweXpect.Frameworks.Xunit3.Core.Tests/Xunit3CoreTestFrameworkTests.cs diff --git a/Tests/Frameworks/aweXpect.Frameworks.Xunit3.Core.Tests8/aweXpect.Frameworks.Xunit3.Core.Tests.csproj b/Tests/Frameworks/aweXpect.Frameworks.Xunit3.Core.Tests/aweXpect.Frameworks.Xunit3.Core.Tests.csproj similarity index 100% rename from Tests/Frameworks/aweXpect.Frameworks.Xunit3.Core.Tests8/aweXpect.Frameworks.Xunit3.Core.Tests.csproj rename to Tests/Frameworks/aweXpect.Frameworks.Xunit3.Core.Tests/aweXpect.Frameworks.Xunit3.Core.Tests.csproj diff --git a/Tests/Frameworks/aweXpect.Frameworks.Xunit3.Tests8/Xunit3TestFrameworkTests.cs b/Tests/Frameworks/aweXpect.Frameworks.Xunit3.Tests/Xunit3TestFrameworkTests.cs similarity index 100% rename from Tests/Frameworks/aweXpect.Frameworks.Xunit3.Tests8/Xunit3TestFrameworkTests.cs rename to Tests/Frameworks/aweXpect.Frameworks.Xunit3.Tests/Xunit3TestFrameworkTests.cs diff --git a/Tests/Frameworks/aweXpect.Frameworks.Xunit3.Tests8/aweXpect.Frameworks.Xunit3.Tests.csproj b/Tests/Frameworks/aweXpect.Frameworks.Xunit3.Tests/aweXpect.Frameworks.Xunit3.Tests.csproj similarity index 100% rename from Tests/Frameworks/aweXpect.Frameworks.Xunit3.Tests8/aweXpect.Frameworks.Xunit3.Tests.csproj rename to Tests/Frameworks/aweXpect.Frameworks.Xunit3.Tests/aweXpect.Frameworks.Xunit3.Tests.csproj From 23e38ae3549f0782f400fb03f54e8a0cfc73b1e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Breu=C3=9F=20Valentin?= Date: Tue, 14 Oct 2025 15:59:07 +0200 Subject: [PATCH 6/6] Change BuildScope to "MainOnly" --- Pipeline/Build.cs | 2 +- .../aweXpect.Frameworks/FrameworkGenerator.cs | 100 +++++++++--------- .../aweXpect.Frameworks.csproj | 8 +- 3 files changed, 56 insertions(+), 54 deletions(-) diff --git a/Pipeline/Build.cs b/Pipeline/Build.cs index dc06fb472..6cd56e4ed 100644 --- a/Pipeline/Build.cs +++ b/Pipeline/Build.cs @@ -20,7 +20,7 @@ partial class Build : NukeBuild /// /// Afterward, you can update the package reference in `Directory.Packages.props` and reset this flag. /// - readonly BuildScope BuildScope = BuildScope.Default; + readonly BuildScope BuildScope = BuildScope.MainOnly; [Parameter("Github Token")] readonly string GithubToken; [GitRepository] readonly GitRepository Repository; diff --git a/Source/aweXpect.Frameworks/FrameworkGenerator.cs b/Source/aweXpect.Frameworks/FrameworkGenerator.cs index d595d1374..6865c2f40 100644 --- a/Source/aweXpect.Frameworks/FrameworkGenerator.cs +++ b/Source/aweXpect.Frameworks/FrameworkGenerator.cs @@ -1,8 +1,4 @@ -using System.Collections.Immutable; -using System.Text; using Microsoft.CodeAnalysis; -using Microsoft.CodeAnalysis.CSharp; -using Microsoft.CodeAnalysis.Text; namespace aweXpect.Frameworks; @@ -12,51 +8,6 @@ namespace aweXpect.Frameworks; [Generator] public class FrameworkGenerator : IIncrementalGenerator { - void IIncrementalGenerator.Initialize(IncrementalGeneratorInitializationContext context) - { - var settings = context.CompilationProvider - .Select((c, _) => - { - var hasMsTest = c.ReferencedAssemblyNames.Any(x => x.Name == "Microsoft.VisualStudio.TestPlatform.TestFramework"); - var hasNunit = c.ReferencedAssemblyNames.Any(x => x.Name == "nunit.framework"); - var hasTUnit = c.ReferencedAssemblyNames.Any(x => x.Name == "TUnit.Core") && - c.ReferencedAssemblyNames.Any(x => x.Name == "TUnit.Assertions"); - var hasXunit2 = c.ReferencedAssemblyNames.Any(x => x.Name == "xunit.assert"); - var hasXunit3Core = c.ReferencedAssemblyNames.Any(x => x.Name == "xunit.v3.core"); - var hasXunit3Assert = c.ReferencedAssemblyNames.Any(x => x.Name == "xunit.v3.assert"); - return (hasMsTest, hasNunit, hasTUnit, hasXunit2, hasXunit3Core, hasXunit3Assert); - }); - - // Generate the source from the captured values - context.RegisterSourceOutput(settings, static (spc, opts) => - { - if (opts.hasMsTest) - { - spc.AddSource("MsTest.g.cs", MsTestAdapter); - } - if (opts.hasNunit) - { - spc.AddSource("Nunit.g.cs", NunitAdapter); - } - if (opts.hasTUnit) - { - spc.AddSource("TUnit.g.cs", TUnitAdapter); - } - if (opts.hasXunit2) - { - spc.AddSource("Xunit2.g.cs", Xunit2Adapter); - } - if (opts.hasXunit3Assert) - { - spc.AddSource("Xunit3.g.cs", Xunit3AssertAdapter); - } - else if (opts.hasXunit3Core) - { - spc.AddSource("Xunit3.g.cs", Xunit3CoreAdapter); - } - }); - } - private static string MsTestAdapter => """ using System.Diagnostics; @@ -280,4 +231,55 @@ private sealed class XunitTimeoutException(string message) private interface ITestTimeoutException; } """; + + void IIncrementalGenerator.Initialize(IncrementalGeneratorInitializationContext context) + { + IncrementalValueProvider<(bool hasMsTest, bool hasNunit, bool hasTUnit, bool hasXunit2, bool hasXunit3Core, bool + hasXunit3Assert)> settings = context.CompilationProvider + .Select((c, _) => + { + bool hasMsTest = + c.ReferencedAssemblyNames.Any(x => x.Name == "Microsoft.VisualStudio.TestPlatform.TestFramework"); + bool hasNunit = c.ReferencedAssemblyNames.Any(x => x.Name == "nunit.framework"); + bool hasTUnit = c.ReferencedAssemblyNames.Any(x => x.Name == "TUnit.Core") && + c.ReferencedAssemblyNames.Any(x => x.Name == "TUnit.Assertions"); + bool hasXunit2 = c.ReferencedAssemblyNames.Any(x => x.Name == "xunit.assert"); + bool hasXunit3Core = c.ReferencedAssemblyNames.Any(x => x.Name == "xunit.v3.core"); + bool hasXunit3Assert = c.ReferencedAssemblyNames.Any(x => x.Name == "xunit.v3.assert"); + return (hasMsTest, hasNunit, hasTUnit, hasXunit2, hasXunit3Core, hasXunit3Assert); + }); + + // Generate the source from the captured values + context.RegisterSourceOutput(settings, static (spc, opts) => + { + if (opts.hasMsTest) + { + spc.AddSource("MsTest.g.cs", MsTestAdapter); + } + + if (opts.hasNunit) + { + spc.AddSource("Nunit.g.cs", NunitAdapter); + } + + if (opts.hasTUnit) + { + spc.AddSource("TUnit.g.cs", TUnitAdapter); + } + + if (opts.hasXunit2) + { + spc.AddSource("Xunit2.g.cs", Xunit2Adapter); + } + + if (opts.hasXunit3Assert) + { + spc.AddSource("Xunit3.g.cs", Xunit3AssertAdapter); + } + else if (opts.hasXunit3Core) + { + spc.AddSource("Xunit3.g.cs", Xunit3CoreAdapter); + } + }); + } } diff --git a/Source/aweXpect.Frameworks/aweXpect.Frameworks.csproj b/Source/aweXpect.Frameworks/aweXpect.Frameworks.csproj index 8852c966b..65f42d8e5 100644 --- a/Source/aweXpect.Frameworks/aweXpect.Frameworks.csproj +++ b/Source/aweXpect.Frameworks/aweXpect.Frameworks.csproj @@ -11,15 +11,15 @@ - - + + - + - +