Skip to content

Commit cd368c0

Browse files
updated
1 parent a519d7e commit cd368c0

234 files changed

Lines changed: 3823 additions & 189 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

Directory.Packages.props

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@
1010
<GlobalPackageReference Include="Rocket.Surgery.MSBuild.GitVersion" Version="1.3.0-beta.2" />
1111
<GlobalPackageReference Include="Rocket.Surgery.MSBuild.SourceLink" Version="1.3.0-beta.2" />
1212
<GlobalPackageReference Include="Rocket.Surgery.MyAssembly" Version="1.3.0-beta.2" />
13-
<GlobalPackageReference Include="Microsoft.CodeAnalysis.Analyzers" Version="4.14.0" />
14-
<GlobalPackageReference Include="Microsoft.CodeAnalysis.BannedApiAnalyzers" Version="4.14.0" />
13+
<GlobalPackageReference Include="Microsoft.CodeAnalysis.Analyzers" Version="5.0.0-1.25277.114" />
14+
<GlobalPackageReference Include="Microsoft.CodeAnalysis.BannedApiAnalyzers" Version="5.0.0-1.25277.114" />
1515
<GlobalPackageReference Include="Microsoft.SourceLink.GitHub" Version="8.0.0" />
1616
<GlobalPackageReference Include="Roslynator.Analyzers" Version="4.14.0" />
1717
<GlobalPackageReference Include="Roslynator.Formatting.Analyzers" Version="4.14.0" />
@@ -23,30 +23,30 @@
2323
<GlobalPackageReference Include="NSubstitute.Analyzers.CSharp" Version="1.0.17" />
2424
</ItemGroup>
2525
<ItemGroup>
26-
<PackageVersion Include="JetBrains.Annotations" Version="2024.3.0" />
26+
<PackageVersion Include="JetBrains.Annotations" Version="2025.2.2" />
2727
<PackageVersion Include="JetBrains.dotCover.CommandLineTools" Version="2024.3.8" />
2828
<PackageVersion Include="JetBrains.ExternalAnnotations" Version="10.2.163" />
2929
<PackageVersion Include="JetBrains.ReSharper.GlobalTools" Version="2024.3.8" />
30-
<PackageVersion Include="Polyfill" Version="8.8.0" />
30+
<PackageVersion Include="Polyfill" Version="9.0.0-beta.17" />
3131
<PackageVersion Include="Serilog.Sinks.Spectre" Version="0.5.0" />
3232
<PackageVersion Include="TUnit" Version="0.25.21" />
33-
<PackageVersion Include="TUnit.Core" Version="0.25.21" />
33+
<PackageVersion Include="TUnit.Core" Version="0.57.24" />
3434
<PackageVersion Include="Verify.DiffPlex" Version="3.1.2" />
3535
<PackageVersion Include="GitVersion.Tool" Version="6.4.0" />
3636
<PackageVersion Include="Nuke.Common" Version="9.0.4" />
3737
<PackageVersion Include="ReportGenerator" Version="5.4.12" />
3838
<PackageVersion Include="Rocket.Surgery.Nuke" Version="2.9.11" />
3939
<PackageVersion Include="NuGet.ProjectModel" Version="6.14.0" />
4040

41-
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.11.0" />
42-
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="4.11.0" />
43-
<PackageVersion Include="Microsoft.CodeAnalysis.Common" Version="4.11.0" />
44-
<PackageVersion Include="Microsoft.CodeAnalysis.Features" Version="4.11.0" />
45-
<PackageVersion Include="Microsoft.CodeAnalysis.Workspaces.Common" Version="4.11.0" />
46-
<PackageVersion Include="Microsoft.Extensions.Configuration" Version="9.0.7" />
47-
<PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="9.0.7" />
48-
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="9.0.7" />
49-
<PackageVersion Include="Microsoft.Extensions.Logging" Version="9.0.7" />
41+
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp" Version="4.14.0" />
42+
<PackageVersion Include="Microsoft.CodeAnalysis.CSharp.Workspaces" Version="4.14.0" />
43+
<PackageVersion Include="Microsoft.CodeAnalysis.Common" Version="4.14.0" />
44+
<PackageVersion Include="Microsoft.CodeAnalysis.Features" Version="4.14.0" />
45+
<PackageVersion Include="Microsoft.CodeAnalysis.Workspaces.Common" Version="4.14.0" />
46+
<PackageVersion Include="Microsoft.Extensions.Configuration" Version="10.0.0-rc.1.25451.107" />
47+
<PackageVersion Include="Microsoft.Extensions.Configuration.Binder" Version="10.0.0-rc.1.25451.107" />
48+
<PackageVersion Include="Microsoft.Extensions.DependencyInjection" Version="10.0.0-rc.1.25451.107" />
49+
<PackageVersion Include="Microsoft.Extensions.Logging" Version="10.0.0-rc.1.25451.107" />
5050

5151
<PackageVersion Include="Serilog" Version="4.3.0" />
5252
<PackageVersion Include="Serilog.Extensions.Logging" Version="9.0.2" />
@@ -76,7 +76,7 @@
7676
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.4" />
7777
<PackageVersion Include="Verify.SourceGenerators" Version="2.5.0" />
7878
<PackageVersion Include="xunit.v3" Version="2.0.3" />
79-
<PackageVersion Include="xunit.v3.extensibility.core" Version="2.0.3" />
79+
<PackageVersion Include="xunit.v3.extensibility.core" Version="3.2.0-pre.5" />
8080
</ItemGroup>
8181
<Import
8282
Project="$(MSBuildThisFileDirectory)/Directory.Packages.support.props"

Directory.Packages.support.props

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,12 @@
88
<PackageVersion Update="System.Collections.Immutable" Version="8.0.0" />
99
<PackageVersion Update="Serilog.Extensions.Logging" Version="8.0.0" />
1010
</ItemGroup>
11+
<ItemGroup Condition="'$(TargetFramework)' == 'net9.0'">
12+
<PackageVersion Update="Microsoft.Extensions.Configuration" Version="9.0.7" />
13+
<PackageVersion Update="Microsoft.Extensions.Configuration.Binder" Version="9.0.7" />
14+
<PackageVersion Update="Microsoft.Extensions.DependencyInjection" Version="9.0.7" />
15+
<PackageVersion Update="Microsoft.Extensions.Logging" Version="9.0.7" />
16+
<PackageVersion Update="System.Collections.Immutable" Version="9.0.7" />
17+
<PackageVersion Update="Serilog.Extensions.Logging" Version="9.0.2" />
18+
</ItemGroup>
1119
</Project>

src/Testing.TUnit/ITUnitTestRecord.cs

Lines changed: 0 additions & 58 deletions
This file was deleted.

src/Testing.TUnit/TUnitTestRecord.cs

Lines changed: 3 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -7,8 +7,8 @@ namespace Rocket.Surgery.Extensions.Testing;
77
/// The xunit test context
88
/// </summary>
99
[PublicAPI]
10-
public abstract class TUnitTestRecord<TContext> : RocketSurgeryTestContext<TContext>, ITUnitTestRecord
11-
where TContext : RocketSurgeryTestContext<TContext>, ILoggingTestContext, ITUnitTestRecord
10+
public abstract class TUnitTestRecord<TContext> : RocketSurgeryTestContext<TContext>
11+
where TContext : RocketSurgeryTestContext<TContext>, ILoggingTestContext
1212
{
1313
private readonly TestContext _context;
1414
private readonly LogEventLevel _logEventLevel;
@@ -42,37 +42,7 @@ protected override void ConfigureLogger(TContext context, LoggerConfiguration lo
4242
.MinimumLevel.Is(_logEventLevel)
4343
.WriteTo.Sink(new TUnitSink(_context));
4444
}
45-
46-
/// <inheritdoc />
47-
public TestContextEvents Events => _context.Events;
48-
49-
/// <inheritdoc />
50-
public DateTimeOffset? TestStart => _context.TestStart;
51-
52-
/// <inheritdoc />
53-
public TestDetails TestDetails => _context.TestDetails;
54-
55-
/// <inheritdoc />
56-
public int CurrentRetryAttempt => _context.CurrentRetryAttempt;
57-
58-
/// <inheritdoc />
59-
public IReadOnlyList<ArgumentDisplayFormatter> ArgumentDisplayFormatters => _context.ArgumentDisplayFormatters;
60-
61-
/// <inheritdoc />
62-
public IReadOnlyList<Timing> Timings => _context.Timings;
63-
64-
/// <inheritdoc />
65-
public Dictionary<string, object?> ObjectBag => _context.ObjectBag;
66-
67-
public TestResult? Result => _context.Result;
68-
69-
/// <inheritdoc />
70-
public void SuppressReportingResult()
71-
{
72-
_context.SuppressReportingResult();
73-
}
74-
75-
/// <inheritdoc />
45+
7646
public void AddArtifact(Artifact artifact)
7747
{
7848
_context.AddArtifact(artifact);

src/Testing.XUnit3/XUnitTestContext.cs

Lines changed: 9 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -26,6 +26,7 @@ public abstract class XUnitTestContext<TContext>(
2626
{
2727
private readonly LogEventLevel _logEventLevel = logEventLevel;
2828
private readonly ITestContext _testContext = testContextAccessor.Current;
29+
private ConcurrentDictionary<string, object?> _keyValueStorage;
2930

3031
/// <inheritdoc />
3132
protected override void ConfigureLogger(TContext context, LoggerConfiguration loggerConfiguration) => loggerConfiguration
@@ -35,9 +36,15 @@ protected override void ConfigureLogger(TContext context, LoggerConfiguration lo
3536
/// <inheritdoc />
3637
public void AddAttachment(string name, string value) => _testContext.AddAttachment(name, value);
3738

39+
/// <inheritdoc />
40+
public void AddAttachment(string name, string value, bool replaceExistingValue) => _testContext.AddAttachment(name, value, replaceExistingValue);
41+
3842
/// <inheritdoc />
3943
public void AddAttachment(string name, byte[] value, string mediaType = "application/octet-stream") => _testContext.AddAttachment(name, value, mediaType);
4044

45+
/// <inheritdoc />
46+
public void AddAttachment(string name, byte[] value, bool replaceExistingValue, string mediaType = "application/octet-stream") => throw new NotImplementedException();
47+
4148
/// <inheritdoc />
4249
public void AddWarning(string message) => _testContext.AddWarning(message);
4350

@@ -69,7 +76,7 @@ protected override void ConfigureLogger(TContext context, LoggerConfiguration lo
6976
public CancellationToken CancellationToken => _testContext.CancellationToken;
7077

7178
/// <inheritdoc />
72-
public Dictionary<string, object?> KeyValueStorage => _testContext.KeyValueStorage;
79+
ConcurrentDictionary<string, object?> ITestContext.KeyValueStorage => _keyValueStorage;
7380

7481
/// <inheritdoc />
7582
public TestPipelineStage PipelineStage => _testContext.PipelineStage;
@@ -137,18 +144,5 @@ public class XUnitTestContext
137144
: XUnitTestContext<XUnitTestContext>(testContextAccessor, logEventLevel, outputTemplate, configureLogger)
138145
{
139146
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
140-
141-
/* Unmerged change from project 'Rocket.Surgery.Extensions.Testing.XUnit3(net9.0)'
142-
Before:
143-
private string DebuggerDisplay
144-
{
145-
get
146-
{
147-
return ToString();
148-
}
149-
}
150-
After:
151-
private string DebuggerDisplay => ToString();
152-
*/
153-
private string DebuggerDisplay => ToString();
147+
private string DebuggerDisplay => ToString() ?? "";
154148
}

test/Testing.AutoFixtures.Tests/AutoFixtureGeneratorTests.cs

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,7 @@ namespace Rocket.Surgery.Extensions.Testing.AutoFixtures.Tests;
66
public class AutoFixtureGeneratorTests
77
{
88
[System.Diagnostics.DebuggerBrowsable(System.Diagnostics.DebuggerBrowsableState.Never)]
9-
private string DebuggerDisplay
10-
{
11-
get
12-
{
13-
return ToString();
14-
}
15-
}
9+
private string DebuggerDisplay => ToString();
1610

1711
[Fact]
1812
public async Task GivenAutoFixture_WhenGenerate_ThenShouldGenerateAutoFixtureAttribute()
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
//HintName: Rocket.Surgery.Extensions.Testing.AutoFixtures/Rocket.Surgery.Extensions.Testing.AutoFixtures.AutoFixtureGenerator/LoadThings.QueryHandler.AutoFixture.g.cs
2+
using System.Collections.ObjectModel;
3+
using Goony.Goo.Goo;
4+
using NSubstitute;
5+
using Rocket.Surgery.Extensions.Testing.AutoFixtures;
6+
7+
namespace Goony.Tests.Goo.Goo
8+
{
9+
internal sealed partial class LoadThingsQueryHandlerFixture : AutoFixtureBase<LoadThingsQueryHandlerFixture>
10+
{
11+
public static implicit operator LoadThings.QueryHandler(LoadThingsQueryHandlerFixture fixture) => fixture.Build();
12+
public LoadThingsQueryHandlerFixture WithThing(Goony.Goo.Goo.IThing thing) => With(ref _thing, thing);
13+
private LoadThings.QueryHandler Build() => new LoadThings.QueryHandler(_thing);
14+
private Goony.Goo.Goo.IThing _thing = Substitute.For<Goony.Goo.Goo.IThing>();
15+
}
16+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
//HintName: Rocket.Surgery.Extensions.Testing.AutoFixtures/Rocket.Surgery.Extensions.Testing.AutoFixtures.AutoFixtureGenerator/LoadThings.QueryHandler.AutoFixture.g.cs
2+
using System.Collections.ObjectModel;
3+
using Goony.Goo.Goo;
4+
using NSubstitute;
5+
using Rocket.Surgery.Extensions.Testing.AutoFixtures;
6+
7+
namespace Goony.Tests.Goo.Goo
8+
{
9+
internal sealed partial class LoadThingsQueryHandlerFixture : AutoFixtureBase<LoadThingsQueryHandlerFixture>
10+
{
11+
public static implicit operator LoadThings.QueryHandler(LoadThingsQueryHandlerFixture fixture) => fixture.Build();
12+
public LoadThingsQueryHandlerFixture WithThing(Goony.Goo.Goo.IThing thing) => With(ref _thing, thing);
13+
private LoadThings.QueryHandler Build() => new LoadThings.QueryHandler(_thing);
14+
private Goony.Goo.Goo.IThing _thing = Substitute.For<Goony.Goo.Goo.IThing>();
15+
}
16+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
{
2+
FinalDiagnostics: [],
3+
GeneratorDiagnostics: {
4+
Rocket.Surgery.Extensions.Testing.AutoFixtures.AutoFixtureGenerator: []
5+
},
6+
ParseOptions: {
7+
DocumentationMode: Parse
8+
},
9+
References: [
10+
Microsoft.Extensions.Logging.Abstractions.dll,
11+
mscorlib.dll,
12+
netstandard.dll,
13+
NSubstitute.dll,
14+
System.Core.dll,
15+
System.dll,
16+
System.Private.CoreLib.dll,
17+
System.Runtime.dll
18+
]
19+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
//HintName: Rocket.Surgery.Extensions.Testing.AutoFixtures/Rocket.Surgery.Extensions.Testing.AutoFixtures.AutoFixtureGenerator/LoadThings.QueryHandler.AutoFixture.g.cs
2+
using System.Collections.ObjectModel;
3+
using Goony.Goo.Goo;
4+
using NSubstitute;
5+
using Rocket.Surgery.Extensions.Testing.AutoFixtures;
6+
7+
namespace Goony.Tests.Goo.Goo
8+
{
9+
internal sealed partial class LoadThingsQueryHandlerFixture : AutoFixtureBase<LoadThingsQueryHandlerFixture>
10+
{
11+
public static implicit operator LoadThings.QueryHandler(LoadThingsQueryHandlerFixture fixture) => fixture.Build();
12+
public LoadThingsQueryHandlerFixture WithThing(Goony.Goo.Goo.IThing thing) => With(ref _thing, thing);
13+
private LoadThings.QueryHandler Build() => new LoadThings.QueryHandler(_thing);
14+
private Goony.Goo.Goo.IThing _thing = Substitute.For<Goony.Goo.Goo.IThing>();
15+
}
16+
}

0 commit comments

Comments
 (0)