Skip to content

Commit 9575bc0

Browse files
authored
Merge branch 'main' into remove-redundant-Empty-constructor-and-mark-as-error
2 parents de83a61 + 00b5184 commit 9575bc0

File tree

90 files changed

+603
-382
lines changed

Some content is hidden

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

90 files changed

+603
-382
lines changed

.editorconfig

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -686,6 +686,9 @@ csharp_style_prefer_primary_constructors = false
686686
# Empty constructor
687687
resharper_empty_constructor_highlighting = warning
688688

689+
# Redundant empty argument list on object creation expression
690+
resharper_redundant_empty_object_creation_argument_list_highlighting = warning
691+
689692
# IDE0300: Simplify collection initialization
690693
dotnet_style_prefer_collection_expression = false
691694

@@ -818,3 +821,9 @@ dotnet_style_allow_statement_immediately_after_block_experimental = false:warnin
818821

819822
# IDE0290: Use primary constructor
820823
csharp_style_prefer_primary_constructors = false
824+
825+
# Replace with single call to FirstOrDefault
826+
resharper_replace_with_single_call_to_first_or_default_highlighting = warning
827+
828+
# Conditional expression can be rewritten as null-coalescing
829+
resharper_replace_conditional_expression_with_null_coalescing_highlighting = warning

Directory.Packages.props

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,8 +29,8 @@
2929
</PropertyGroup>
3030
<PropertyGroup Label="Test dependencies">
3131
<MicrosoftCodeAnalysisAnalyzerTestingVersion>1.1.3-beta1.24423.1</MicrosoftCodeAnalysisAnalyzerTestingVersion>
32-
<MSTestVersion>3.9.0-preview.25203.1</MSTestVersion>
33-
<MicrosoftTestingPlatformVersion>1.7.0-preview.25203.1</MicrosoftTestingPlatformVersion>
32+
<MSTestVersion>3.9.0-preview.25207.6</MSTestVersion>
33+
<MicrosoftTestingPlatformVersion>1.7.0-preview.25207.6</MicrosoftTestingPlatformVersion>
3434
</PropertyGroup>
3535
<ItemGroup Label="Analyzers">
3636
<PackageVersion Include="Microsoft.CodeAnalysis.BannedApiAnalyzers" Version="$(MicrosoftCodeAnalysisBannedApiAnalyzersVersion)" />
@@ -39,7 +39,7 @@
3939
<PackageVersion Include="StyleCop.Analyzers" Version="1.2.0-beta.556" />
4040
</ItemGroup>
4141
<ItemGroup Label="Product dependencies">
42-
<PackageVersion Include="Microsoft.ApplicationInsights" Version="2.22.0" />
42+
<PackageVersion Include="Microsoft.ApplicationInsights" Version="2.23.0" />
4343
<PackageVersion Include="Microsoft.Build.Framework" Version="$(MicrosoftBuildVersion)" />
4444
<PackageVersion Include="Microsoft.Build.Utilities.Core" Version="$(MicrosoftBuildVersion)" />
4545
<PackageVersion Include="Microsoft.CodeAnalysis" Version="$(MicrosoftCodeAnalysisVersion)" />

eng/Version.Details.xml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
<?xml version="1.0" encoding="utf-8"?>
22
<Dependencies>
33
<ToolsetDependencies>
4-
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="10.0.0-beta.25206.1">
4+
<Dependency Name="Microsoft.DotNet.Arcade.Sdk" Version="10.0.0-beta.25209.3">
55
<Uri>https://github.com/dotnet/arcade</Uri>
6-
<Sha>37f732fbfa006386f89a16be417278ea4fee375e</Sha>
6+
<Sha>03b4b258fc72e5663f2ad701df5d70129aa2df8a</Sha>
77
</Dependency>
8-
<Dependency Name="Microsoft.DotNet.Build.Tasks.Templating" Version="10.0.0-beta.25206.1">
8+
<Dependency Name="Microsoft.DotNet.Build.Tasks.Templating" Version="10.0.0-beta.25209.3">
99
<Uri>https://github.com/dotnet/arcade</Uri>
10-
<Sha>37f732fbfa006386f89a16be417278ea4fee375e</Sha>
10+
<Sha>03b4b258fc72e5663f2ad701df5d70129aa2df8a</Sha>
1111
</Dependency>
12-
<Dependency Name="Microsoft.DotNet.XliffTasks" Version="10.0.0-beta.25206.1">
12+
<Dependency Name="Microsoft.DotNet.XliffTasks" Version="10.0.0-beta.25209.3">
1313
<Uri>https://github.com/dotnet/arcade</Uri>
14-
<Sha>37f732fbfa006386f89a16be417278ea4fee375e</Sha>
14+
<Sha>03b4b258fc72e5663f2ad701df5d70129aa2df8a</Sha>
1515
</Dependency>
16-
<Dependency Name="Microsoft.Testing.Extensions.CodeCoverage" Version="17.15.0-preview.25204.2">
16+
<Dependency Name="Microsoft.Testing.Extensions.CodeCoverage" Version="17.15.0-preview.25209.4">
1717
<Uri>https://dev.azure.com/devdiv/DevDiv/_git/vs-code-coverage</Uri>
18-
<Sha>4df05093b4aea75bf2cf0656ae47ae70e0f900f3</Sha>
18+
<Sha>c6b0eab308893423e954a31d2f4d7737e1ecffbc</Sha>
1919
</Dependency>
2020
</ToolsetDependencies>
2121
</Dependencies>

eng/Versions.props

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
<PreReleaseVersionLabel>preview</PreReleaseVersionLabel>
88
</PropertyGroup>
99
<PropertyGroup Label="MSTest prod dependencies - darc updated">
10-
<MicrosoftDotNetBuildTasksTemplatingPackageVersion>10.0.0-beta.25206.1</MicrosoftDotNetBuildTasksTemplatingPackageVersion>
11-
<MicrosoftTestingExtensionsCodeCoverageVersion>17.15.0-preview.25204.2</MicrosoftTestingExtensionsCodeCoverageVersion>
10+
<MicrosoftDotNetBuildTasksTemplatingPackageVersion>10.0.0-beta.25209.3</MicrosoftDotNetBuildTasksTemplatingPackageVersion>
11+
<MicrosoftTestingExtensionsCodeCoverageVersion>17.15.0-preview.25209.4</MicrosoftTestingExtensionsCodeCoverageVersion>
1212
</PropertyGroup>
1313
</Project>

eng/common/core-templates/job/publish-build-assets.yml

Lines changed: 15 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ parameters:
2929

3030
is1ESPipeline: ''
3131

32+
# Optional: 🌤️ or not the build has assets it wants to publish to BAR
33+
isAssetlessBuild: false
34+
3235
jobs:
3336
- job: Asset_Registry_Publish
3437

@@ -72,14 +75,15 @@ jobs:
7275
- checkout: self
7376
fetchDepth: 3
7477
clean: true
75-
76-
- task: DownloadPipelineArtifact@2
77-
displayName: Download Asset Manifests
78-
inputs:
79-
artifactName: AssetManifests
80-
targetPath: '$(Build.StagingDirectory)/AssetManifests'
81-
condition: ${{ parameters.condition }}
82-
continueOnError: ${{ parameters.continueOnError }}
78+
79+
- ${{ if eq(parameters.isAssetlessBuild, 'false') }}:
80+
- task: DownloadPipelineArtifact@2
81+
displayName: Download Asset Manifests
82+
inputs:
83+
artifactName: AssetManifests
84+
targetPath: '$(Build.StagingDirectory)/AssetManifests'
85+
condition: ${{ parameters.condition }}
86+
continueOnError: ${{ parameters.continueOnError }}
8387

8488
- task: NuGetAuthenticate@1
8589

@@ -92,6 +96,7 @@ jobs:
9296
scriptPath: $(Build.SourcesDirectory)/eng/common/sdk-task.ps1
9397
arguments: -task PublishBuildAssets -restore -msbuildEngine dotnet
9498
/p:ManifestsPath='$(Build.StagingDirectory)/AssetManifests'
99+
/p:IsAssetlessBuild=${{ parameters.isAssetlessBuild }}
95100
/p:MaestroApiEndpoint=https://maestro.dot.net
96101
/p:OfficialBuildId=$(Build.BuildNumber)
97102
condition: ${{ parameters.condition }}
@@ -124,7 +129,7 @@ jobs:
124129
publishLocation: Container
125130
artifactName: ReleaseConfigs
126131

127-
- ${{ if eq(parameters.publishAssetsImmediately, 'true') }}:
132+
- ${{ if or(eq(parameters.publishAssetsImmediately, 'true'), eq(parameters.isAssetlessBuild, 'true')) }}:
128133
- template: /eng/common/core-templates/post-build/setup-maestro-vars.yml
129134
parameters:
130135
BARBuildId: ${{ parameters.BARBuildId }}
@@ -145,6 +150,7 @@ jobs:
145150
-WaitPublishingFinish true
146151
-ArtifactsPublishingAdditionalParameters '${{ parameters.artifactsPublishingAdditionalParameters }}'
147152
-SymbolPublishingAdditionalParameters '${{ parameters.symbolPublishingAdditionalParameters }}'
153+
-SkipAssetsPublishing '${{ parameters.isAssetlessBuild }}'
148154
149155
- ${{ if eq(parameters.enablePublishBuildArtifacts, 'true') }}:
150156
- template: /eng/common/core-templates/steps/publish-logs.yml

eng/common/core-templates/post-build/post-build.yml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -60,6 +60,11 @@ parameters:
6060
artifactNames: ''
6161
downloadArtifacts: true
6262

63+
- name: isAssetlessBuild
64+
type: boolean
65+
displayName: Is Assetless Build
66+
default: false
67+
6368
# These parameters let the user customize the call to sdk-task.ps1 for publishing
6469
# symbols & general artifacts as well as for signing validation
6570
- name: symbolPublishingAdditionalParameters
@@ -320,3 +325,4 @@ stages:
320325
-RequireDefaultChannels ${{ parameters.requireDefaultChannels }}
321326
-ArtifactsPublishingAdditionalParameters '${{ parameters.artifactsPublishingAdditionalParameters }}'
322327
-SymbolPublishingAdditionalParameters '${{ parameters.symbolPublishingAdditionalParameters }}'
328+
-SkipAssetsPublishing '${{ parameters.isAssetlessBuild }}'

eng/common/post-build/publish-using-darc.ps1

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,8 @@ param(
66
[Parameter(Mandatory=$true)][string] $WaitPublishingFinish,
77
[Parameter(Mandatory=$false)][string] $ArtifactsPublishingAdditionalParameters,
88
[Parameter(Mandatory=$false)][string] $SymbolPublishingAdditionalParameters,
9-
[Parameter(Mandatory=$false)][string] $RequireDefaultChannels
9+
[Parameter(Mandatory=$false)][string] $RequireDefaultChannels,
10+
[Parameter(Mandatory=$false)][string] $SkipAssetsPublishing
1011
)
1112

1213
try {
@@ -39,6 +40,10 @@ try {
3940
$optionalParams.Add("--default-channels-required") | Out-Null
4041
}
4142

43+
if ("true" -eq $SkipAssetsPublishing) {
44+
$optionalParams.Add("--skip-assets-publishing") | Out-Null
45+
}
46+
4247
& $darc add-build-to-channel `
4348
--id $buildId `
4449
--publishing-infra-version $PublishingInfraVersion `

global.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
"rollForward": "latestFeature"
2929
},
3030
"msbuild-sdks": {
31-
"Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25206.1",
31+
"Microsoft.DotNet.Arcade.Sdk": "10.0.0-beta.25209.3",
3232
"MSBuild.Sdk.Extras": "3.0.44"
3333
}
3434
}

samples/Playground/Program.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -100,7 +100,7 @@ public async Task ExecuteRequestAsync(ExecuteRequestContext context)
100100
}
101101
catch (Exception e)
102102
{
103-
await context.MessageBus.PublishAsync(this, new TestNodeUpdateMessage(new SessionUid("1"), new Microsoft.Testing.Platform.Extensions.Messages.TestNode()
103+
await context.MessageBus.PublishAsync(this, new TestNodeUpdateMessage(new SessionUid("1"), new Microsoft.Testing.Platform.Extensions.Messages.TestNode
104104
{
105105
Uid = "2",
106106
DisplayName = "Blah",

src/Adapter/MSTest.Engine/Configurations/ConfigurationExtensions.cs

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@ public static string GetTestResultDirectory(this IConfiguration configuration)
1111
=> GetConfigurationWrapper(configuration).WrappedConfiguration.GetTestResultDirectory();
1212

1313
private static ConfigurationWrapper GetConfigurationWrapper(IConfiguration configuration)
14-
=> configuration is not ConfigurationWrapper configurationWrapper
15-
? throw new ArgumentException("Current configuration is not of expected type", nameof(configuration))
16-
: configurationWrapper;
14+
=> configuration as ConfigurationWrapper
15+
?? throw new ArgumentException("Current configuration is not of expected type", nameof(configuration));
1716
}

src/Adapter/MSTest.Engine/Engine/BFSTestNodeVisitor.cs

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,6 @@ public BFSTestNodeVisitor(IEnumerable<TestNode> rootTestNodes, ITestExecutionFil
2929
_testArgumentsManager = testArgumentsManager;
3030
}
3131

32-
/// <summary>
33-
/// Process a test node found during tree traversal.
34-
/// </summary>
35-
/// <param name="node">The test node found.</param>
36-
/// <param name="parentNodeUid">The UID of the node's parent.</param>
37-
/// <param name="nodeFullPath">The tree full path to get to the node.</param>
38-
/// <returns>A collection of additional test nodes to visit resulting from the processing of the node.</returns>
39-
internal delegate ICollection<TestNode> TestNodeProcessor(TestNode node, TestNodeUid? parentNodeUid, string nodeFullPath);
40-
4132
internal KeyValuePair<TestNodeUid, List<TestNode>>[] DuplicatedNodes { get; private set; } = Array.Empty<KeyValuePair<TestNodeUid, List<TestNode>>>();
4233

4334
public async Task VisitAsync(Func<TestNode, TestNodeUid?, Task> onIncludedTestNodeAsync)

src/Adapter/MSTest.Engine/TestFramework/TestFramework.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public Task<CreateTestSessionResult> CreateTestSessionAsync(CreateTestSessionCon
5959
_sessionId = context.SessionUid;
6060
_sessionWarningMessages.Clear();
6161
_sessionErrorMessages.Clear();
62-
return Task.FromResult(new CreateTestSessionResult() { IsSuccess = true });
62+
return Task.FromResult(new CreateTestSessionResult { IsSuccess = true });
6363
}
6464

6565
public async Task<CloseTestSessionResult> CloseTestSessionAsync(CloseTestSessionContext context)

src/Adapter/MSTest.TestAdapter/Execution/TestClassInfo.cs

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -405,7 +405,7 @@ internal TestResult GetResultOrRunClassInitialize(ITestContext testContext, stri
405405
&& isWindowsOS
406406
&& Thread.CurrentThread.GetApartmentState() != ApartmentState.STA)
407407
{
408-
var result = new TestResult()
408+
var result = new TestResult
409409
{
410410
Outcome = TestTools.UnitTesting.UnitTestOutcome.Error,
411411
IgnoreReason = "MSTest STATestClass ClassInitialize didn't complete",
@@ -427,7 +427,7 @@ internal TestResult GetResultOrRunClassInitialize(ITestContext testContext, stri
427427
catch (Exception ex)
428428
{
429429
PlatformServiceProvider.Instance.AdapterTraceLogger.LogError(ex.ToString());
430-
return new TestResult()
430+
return new TestResult
431431
{
432432
TestFailureException = new TestFailedException(UTFUnitTestOutcome.Error, ex.TryGetMessage(), ex.TryGetStackTraceInformation()),
433433
Outcome = UTFUnitTestOutcome.Error,
@@ -449,7 +449,7 @@ internal TestResult GetResultOrRunClassInitialize(ITestContext testContext, stri
449449
// Local functions
450450
TestResult DoRun()
451451
{
452-
var result = new TestResult()
452+
var result = new TestResult
453453
{
454454
Outcome = TestTools.UnitTesting.UnitTestOutcome.Passed,
455455
};
@@ -479,11 +479,11 @@ TestResult DoRun()
479479
}
480480
catch (TestFailedException ex)
481481
{
482-
result = new TestResult() { TestFailureException = ex, Outcome = ex.Outcome };
482+
result = new TestResult { TestFailureException = ex, Outcome = ex.Outcome };
483483
}
484484
catch (Exception ex)
485485
{
486-
result = new TestResult()
486+
result = new TestResult
487487
{
488488
TestFailureException = new TestFailedException(UTFUnitTestOutcome.Error, ex.TryGetMessage(), ex.TryGetStackTraceInformation()),
489489
Outcome = UTFUnitTestOutcome.Error,

src/Adapter/MSTest.TestAdapter/Execution/TestExecutionManager.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -579,7 +579,7 @@ private async Task ExecuteTestsWithTestRunnerAsync(
579579
// If there were only fixture tests, send an inconclusive result.
580580
if (!hasAnyRunnableTests)
581581
{
582-
var result = new TestTools.UnitTesting.TestResult()
582+
var result = new TestTools.UnitTesting.TestResult
583583
{
584584
Outcome = TestTools.UnitTesting.UnitTestOutcome.Inconclusive,
585585
};
@@ -594,7 +594,7 @@ private async Task ExecuteTestsWithTestRunnerAsync(
594594

595595
if (fixtureTestResult.IsExecuted)
596596
{
597-
var result = new TestTools.UnitTesting.TestResult()
597+
var result = new TestTools.UnitTesting.TestResult
598598
{
599599
Outcome = fixtureTestResult.Outcome,
600600
};

src/Adapter/MSTest.TestAdapter/Execution/TestMethodRunner.cs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ public TestMethodRunner(TestMethodInfo testMethodInfo, TestMethod testMethod, IT
6363
/// <returns>The test results.</returns>
6464
internal async Task<TestResult[]> ExecuteAsync(string initializationLogs, string initializationErrorLogs, string initializationTrace, string initializationTestContextMessages)
6565
{
66+
_testContext.Context.TestRunCount++;
6667
bool isSTATestClass = AttributeComparer.IsDerived<STATestClassAttribute>(_testMethodInfo.Parent.ClassAttribute);
6768
bool isSTATestMethod = AttributeComparer.IsDerived<STATestMethodAttribute>(_testMethodInfo.Executor);
6869
bool isSTARequested = isSTATestClass || isSTATestMethod;
@@ -116,17 +117,17 @@ async Task<TestResult[]> SafeRunTestMethodAsync(string initializationLogs, strin
116117
}
117118
catch (TestFailedException ex)
118119
{
119-
result = [new TestResult() { TestFailureException = ex }];
120+
result = [new TestResult { TestFailureException = ex }];
120121
}
121122
catch (Exception ex)
122123
{
123124
if (result == null || result.Length == 0)
124125
{
125-
result = [new TestResult() { Outcome = UTF.UnitTestOutcome.Error }];
126+
result = [new TestResult { Outcome = UTF.UnitTestOutcome.Error }];
126127
}
127128

128129
#pragma warning disable IDE0056 // Use index operator
129-
result[result.Length - 1] = new TestResult()
130+
result[result.Length - 1] = new TestResult
130131
{
131132
TestFailureException = new TestFailedException(UTF.UnitTestOutcome.Error, ex.TryGetMessage(), ex.TryGetStackTraceInformation()),
132133
LogOutput = result[result.Length - 1].LogOutput,
@@ -463,7 +464,7 @@ private async Task<TestResult[]> ExecuteTestAsync(TestMethodInfo testMethodInfo)
463464
{
464465
return
465466
[
466-
new TestResult()
467+
new TestResult
467468
{
468469
TestFailureException = new InvalidOperationException(
469470
string.Format(

src/Adapter/MSTest.TestAdapter/Execution/UnitTestRunner.cs

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -225,9 +225,9 @@ internal async Task<TestResult[]> RunSingleTestAsync(TestMethod testMethod, IDic
225225
// Catch any exception thrown while inspecting the test method and return failure.
226226
return
227227
[
228-
new TestResult()
228+
new TestResult
229229
{
230-
Outcome = UTF.UnitTestOutcome.Failed,
230+
Outcome = UnitTestOutcome.Failed,
231231
IgnoreReason = ex.Message,
232232
}
233233
];
@@ -240,7 +240,7 @@ private static TestResult RunAssemblyInitializeIfNeeded(TestMethodInfo testMetho
240240
string? initializationErrorLogs = string.Empty;
241241
string? initializationTrace = string.Empty;
242242
string? initializationTestContextMessages = string.Empty;
243-
var result = new TestResult() { Outcome = UTF.UnitTestOutcome.Passed };
243+
var result = new TestResult { Outcome = UnitTestOutcome.Passed };
244244

245245
try
246246
{
@@ -266,12 +266,12 @@ private static TestResult RunAssemblyInitializeIfNeeded(TestMethodInfo testMetho
266266
}
267267
catch (TestFailedException ex)
268268
{
269-
result = new TestResult() { TestFailureException = ex, Outcome = ex.Outcome };
269+
result = new TestResult { TestFailureException = ex, Outcome = ex.Outcome };
270270
}
271271
catch (Exception ex)
272272
{
273273
var testFailureException = new TestFailedException(UnitTestOutcome.Error, ex.TryGetMessage(), ex.TryGetStackTraceInformation());
274-
result = new TestResult() { TestFailureException = testFailureException, Outcome = UnitTestOutcome.Error };
274+
result = new TestResult { TestFailureException = testFailureException, Outcome = UnitTestOutcome.Error };
275275
}
276276
finally
277277
{
@@ -389,9 +389,9 @@ private static bool IsTestMethodRunnable(
389389
{
390390
notRunnableResult =
391391
[
392-
new TestResult()
392+
new TestResult
393393
{
394-
Outcome = UTF.UnitTestOutcome.NotFound,
394+
Outcome = UnitTestOutcome.NotFound,
395395
IgnoreReason = string.Format(CultureInfo.CurrentCulture, Resource.TestNotFound, testMethod.Name),
396396
},
397397
];
@@ -405,9 +405,9 @@ private static bool IsTestMethodRunnable(
405405
{
406406
notRunnableResult =
407407
[
408-
new TestResult()
408+
new TestResult
409409
{
410-
Outcome = UTF.UnitTestOutcome.NotRunnable,
410+
Outcome = UnitTestOutcome.NotRunnable,
411411
IgnoreReason = testMethodInfo.NotRunnableReason,
412412
},
413413
];

src/Adapter/MSTest.TestAdapter/ObjectModel/UnitTestElement.cs

Lines changed: 1 addition & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -91,11 +91,7 @@ public UnitTestElement(TestMethod testMethod)
9191
internal UnitTestElement Clone()
9292
{
9393
var clone = (UnitTestElement)MemberwiseClone();
94-
if (TestMethod != null)
95-
{
96-
clone.TestMethod = TestMethod.Clone();
97-
}
98-
94+
clone.TestMethod = TestMethod.Clone();
9995
return clone;
10096
}
10197

0 commit comments

Comments
 (0)