Skip to content

refactor: use the helpers of aweXpect.Core - #391

Merged
vbreuss merged 2 commits into
mainfrom
refactor/core-helpers
Oct 10, 2026
Merged

vbreuss merged 2 commits into
mainfrom
refactor/core-helpers

Conversation

@vbreuss

@vbreuss vbreuss commented Oct 10, 2026

Copy link
Copy Markdown
Member

The package kept its own copies of helpers that aweXpect.Core offers, and allocated a closure for every constraint, which the extension guidelines advise against.

Changes

  • Use Get() and TrimCommonWhiteSpace() from aweXpect.Core.Extending instead of the package's own copies; a caller expression spanning two lines is still joined into one line, and blank lines in a multi-line expression no longer break the trimming
  • Pass the constraint arguments as state to static lambdas in all AddConstraint calls

@vbreuss vbreuss self-assigned this Oct 10, 2026
@vbreuss
vbreuss added this pull request to stack #389 October 10, 2026 09:36
@github-actions

Copy link
Copy Markdown

Test Results

    13 files  ±0      13 suites  ±0   11m 53s ⏱️ -29s
 6 991 tests +1   6 988 ✅ +1   3 💤 ±0  0 ❌ ±0 
41 791 runs  +6  41 778 ✅ +6  13 💤 ±0  0 ❌ ±0 

Results for commit f9e441f. ± Comparison against base commit 4691c51.

Base automatically changed from refactor/result-options to main October 10, 2026 10:21
Core provides both in aweXpect.Core.Extending, so the own copies are redundant; its Get() traces the exception and its TrimCommonWhiteSpace() ignores blank lines instead of failing on them. Only joining an expression that spans two lines into one remains in the package, so that the messages stay the same.
Capturing lambdas allocate a closure for every expectation; passing the arguments as state, as the extending guidelines recommend, avoids that, and marking every constraint lambda static lets the compiler guarantee that none captures.
@vbreuss
vbreuss force-pushed the refactor/core-helpers branch from f9e441f to 0759578 Compare October 10, 2026 10:22
@vbreuss
vbreuss merged commit 08d3fe9 into main Oct 10, 2026
11 of 12 checks passed
@vbreuss
vbreuss deleted the refactor/core-helpers branch October 10, 2026 10:22
@sonarqubecloud

Copy link
Copy Markdown

@github-actions

github-actions Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

🚀 Benchmark Results

Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.5 LTS (Noble Numbat)
AMD EPYC 7763 2.45GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.303
[Host] : .NET 10.0.12 (10.0.12, 10.0.1226.42308), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.12 (10.0.12, 10.0.1226.42308), X64 RyuJIT x86-64-v3

Method Mean Error StdDev Gen0 Allocated
TypeIsNotStatic_aweXpect 123.5 ns 0.50 ns 0.42 ns 0.0248 416 B

@github-actions

github-actions Bot commented Oct 10, 2026 •

Copy link
Copy Markdown

👽 Mutation Results

Mutation testing badge

aweXpect.Reflection

Details
File Score Killed Survived Timeout No Coverage Ignored Compile Errors Runtime Errors Total Detected Total Undetected Total Mutants
Filters/AssemblyFilters.Except.cs 100.00% 3 0 0 0 0 0 0 3 0 3
Filters/AssemblyFilters.Which.cs 100.00% 2 0 0 0 0 0 0 2 0 2
Filters/AssemblyFilters.With.cs 100.00% 20 0 0 0 4 0 0 20 0 24
Filters/AssemblyFilters.WithVersion.cs 100.00% 26 0 0 0 3 5 0 26 0 34
Filters/ConstructorFilters.Except.cs 100.00% 3 0 0 0 0 0 0 3 0 3
Filters/ConstructorFilters.Which.cs 100.00% 2 0 0 0 0 0 0 2 0 2
Filters/ConstructorFilters.With.cs 100.00% 8 0 0 0 4 0 0 8 0 12
Filters/EventFilters.Except.cs 100.00% 3 0 0 0 0 0 0 3 0 3
Filters/EventFilters.Which.cs 100.00% 2 0 0 0 0 0 0 2 0 2
Filters/EventFilters.With.cs 100.00% 20 0 0 0 4 0 0 20 0 24
Filters/FieldFilters.Except.cs 100.00% 3 0 0 0 0 0 0 3 0 3
Filters/FieldFilters.Which.cs 100.00% 2 0 0 0 0 0 0 2 0 2
Filters/FieldFilters.With.cs 100.00% 8 0 0 0 4 0 0 8 0 12
Filters/MethodFilters.Except.cs 100.00% 3 0 0 0 0 0 0 3 0 3
Filters/MethodFilters.Which.cs 100.00% 2 0 0 0 0 0 0 2 0 2
Filters/MethodFilters.With.cs 100.00% 20 0 0 0 4 0 0 20 0 24
Filters/PropertyFilters.Except.cs 100.00% 3 0 0 0 0 0 0 3 0 3
Filters/PropertyFilters.Which.cs 100.00% 2 0 0 0 0 0 0 2 0 2
Filters/PropertyFilters.With.cs 100.00% 20 0 0 0 4 0 0 20 0 24
Filters/TypeFilters.Except.cs 100.00% 5 0 0 0 0 0 0 5 0 5
Filters/TypeFilters.Which.cs 100.00% 2 0 0 0 0 0 0 2 0 2
Filters/TypeFilters.With.cs 100.00% 20 0 0 0 4 0 0 20 0 24
Formatting/FormattableMember.cs 84.62% 11 2 0 0 1 4 0 11 2 18
Helpers/AssemblyHelpers.cs 91.94% 57 3 0 2 12 5 0 57 5 79
Helpers/CollectionConstraintResult.cs 89.71% 61 5 0 2 24 3 0 61 7 95
Helpers/ConstructorInfoHelpers.cs 100.00% 28 0 0 0 11 2 0 28 0 41
Helpers/EventInfoHelpers.cs 100.00% 21 0 0 0 4 2 0 21 0 27
Helpers/FieldInfoHelpers.cs 97.22% 35 1 0 0 12 2 0 35 1 50
Helpers/MemberViolationRenderer.cs 100.00% 17 0 0 0 6 13 0 17 0 36
Helpers/MethodInfoHelpers.cs 80.51% 95 14 0 9 38 4 0 95 23 160
Helpers/PropertyInfoHelpers.cs 98.51% 66 1 0 0 6 4 0 66 1 77
Helpers/StringHelpers.cs 100.00% 9 0 0 0 3 0 0 9 0 12
Helpers/TypeHelpers.cs 76.57% 477 85 0 61 201 64 0 477 146 888
In.cs 89.47% 17 2 0 0 1 0 0 17 2 20
Options/GenericArgumentFilterOptions.cs 72.73% 8 0 0 3 6 2 0 8 3 19
Options/GenericArgumentsFilterOptions.cs 91.18% 31 2 0 1 13 7 0 31 3 54
Options/ParameterFilterOptions.cs 84.00% 21 3 0 1 10 4 0 21 4 39
Results/DependencyCyclesResult.cs 100.00% 2 0 0 0 1 0 0 2 0 3
Results/GenericArgumentCollectionResult.cs 100.00% 26 0 0 0 4 0 0 26 0 30
Results/GenericArgumentCollectionWithArgumentAtIndexResult.cs 100.00% 1 0 0 0 2 1 0 1 0 4
Results/GenericArgumentCollectionWithArgumentResult.cs 100.00% 1 0 0 0 1 0 0 1 0 2
Results/HasAttributeResult.cs 100.00% 2 0 0 0 2 0 0 2 0 4
Results/HasAttributeWithoutInheritResult.cs 100.00% 4 0 0 0 2 0 0 4 0 6
Results/HaveAttributeResult.cs 100.00% 2 0 0 0 2 0 0 2 0 4
Results/HaveAttributeWithoutInheritResult.cs 100.00% 4 0 0 0 2 0 0 4 0 6
Results/NamespaceDependencyOnlyOnResult.cs 75.00% 3 1 0 0 3 0 0 3 1 7
Results/NamespaceDependencyOutsideResult.cs 100.00% 4 0 0 0 3 0 0 4 0 7
Results/NamespaceDependencyResult.cs 100.00% 3 0 0 0 2 0 0 3 0 5
Results/ParameterCollectionAtIndexResult.cs 100.00% 1 0 0 0 2 1 0 1 0 4
Results/ParameterCollectionResult.cs 66.67% 6 0 0 3 4 0 0 6 3 13
Results/TypeDependencyResult.cs 66.67% 2 0 0 1 2 0 0 2 1 5
Results/TypeSetDependencyOnlyOnResult.cs 100.00% 3 0 0 0 2 0 0 3 0 5
Results/TypeSetDependencyOutsideResult.cs 100.00% 3 0 0 0 2 0 0 3 0 5
Results/TypeSetDependencyResult.cs 100.00% 2 0 0 0 1 0 0 2 0 3
ThatAssemblies.AreStrongNamed.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatAssemblies.DependOn.cs 70.00% 7 0 0 3 0 8 0 7 3 18
ThatAssemblies.DependOnlyOn.cs 94.74% 18 1 0 0 2 8 0 18 1 29
ThatAssemblies.DoNotDependOn.cs 66.67% 8 0 0 4 0 8 0 8 4 20
ThatAssemblies.DoNotHave.cs 100.00% 14 0 0 0 4 6 0 14 0 24
ThatAssemblies.DoNotHaveName.cs 100.00% 8 0 0 0 0 8 0 8 0 16
ThatAssemblies.Have.cs 100.00% 16 0 0 0 6 6 0 16 0 28
ThatAssemblies.HaveName.cs 84.62% 22 1 0 3 5 25 0 22 4 56
ThatAssemblies.HaveVersion.cs 96.67% 58 1 0 1 15 25 0 58 2 100
ThatAssemblies.Target.cs 83.33% 5 0 0 1 0 8 0 5 1 14
ThatAssembly.DependsOn.cs 93.33% 14 1 0 0 3 8 0 14 1 26
ThatAssembly.DependsOnlyOn.cs 91.30% 21 2 0 0 3 8 0 21 2 34
ThatAssembly.DoesNotDependOn.cs 100.00% 1 0 0 0 0 0 0 1 0 1
ThatAssembly.DoesNotHave.cs 100.00% 1 0 0 0 1 0 0 1 0 2
ThatAssembly.DoesNotHaveName.cs 100.00% 1 0 0 0 0 0 0 1 0 1
ThatAssembly.Has.cs 100.00% 10 0 0 0 5 4 0 10 0 19
ThatAssembly.HasName.cs 100.00% 5 0 0 0 1 3 0 5 0 9
ThatAssembly.HasVersion.cs 100.00% 68 0 0 0 16 33 0 68 0 117
ThatAssembly.IsStrongNamed.cs 100.00% 10 0 0 0 3 6 0 10 0 19
ThatAssembly.Targets.cs 100.00% 5 0 0 0 1 3 0 5 0 9
ThatConstructor.DoesNotHave.cs 100.00% 2 0 0 0 1 0 0 2 0 3
ThatConstructor.Has.cs 100.00% 12 0 0 0 5 4 0 12 0 21
ThatConstructor.HasInParameter.cs 100.00% 18 0 0 0 1 6 0 18 0 25
ThatConstructor.HasOptionalParameter.cs 100.00% 18 0 0 0 1 6 0 18 0 25
ThatConstructor.HasOutParameter.cs 100.00% 18 0 0 0 1 6 0 18 0 25
ThatConstructor.HasParameter.cs 97.87% 46 0 0 1 12 18 0 46 1 77
ThatConstructor.HasParameterCount.cs 100.00% 11 0 0 0 1 9 0 11 0 21
ThatConstructor.HasParameterExactly.cs 100.00% 10 0 0 0 4 0 0 10 0 14
ThatConstructor.HasParamsParameter.cs 100.00% 18 0 0 0 1 6 0 18 0 25
ThatConstructor.HasRefParameter.cs 100.00% 18 0 0 0 1 6 0 18 0 25
ThatConstructor.IsStatic.cs 100.00% 12 0 0 0 3 6 0 12 0 21
ThatConstructors.AreStatic.cs 100.00% 16 0 0 0 0 12 0 16 0 28
ThatConstructors.DoNotHave.cs 100.00% 16 0 0 0 4 6 0 16 0 26
ThatConstructors.Have.cs 100.00% 20 0 0 0 6 6 0 20 0 32
ThatConstructors.HaveInParameter.cs 100.00% 28 0 0 0 0 6 0 28 0 34
ThatConstructors.HaveOptionalParameter.cs 96.43% 27 1 0 0 0 6 0 27 1 34
ThatConstructors.HaveOutParameter.cs 100.00% 28 0 0 0 0 6 0 28 0 34
ThatConstructors.HaveParameter.cs 96.43% 54 0 0 2 18 18 0 54 2 92
ThatConstructors.HaveParameterCount.cs 100.00% 10 0 0 0 1 9 0 10 0 20
ThatConstructors.HaveParameterExactly.cs 100.00% 20 0 0 0 8 0 0 20 0 28
ThatConstructors.HaveParamsParameter.cs 96.43% 27 1 0 0 0 6 0 27 1 34
ThatConstructors.HaveRefParameter.cs 100.00% 28 0 0 0 0 6 0 28 0 34
ThatEvent.DoesNotHave.cs 100.00% 1 0 0 0 1 0 0 1 0 2
ThatEvent.Has.cs 100.00% 10 0 0 0 5 4 0 10 0 19
ThatEvent.IsAbstract.cs 100.00% 12 0 0 0 3 6 0 12 0 21
ThatEvent.IsNullable.cs 100.00% 10 0 0 0 3 6 0 10 0 19
ThatEvent.IsOfExactType.cs 100.00% 4 0 0 0 2 0 0 4 0 6
ThatEvent.IsOfType.cs 100.00% 14 0 0 0 4 4 0 14 0 22
ThatEvent.IsSealed.cs 100.00% 12 0 0 0 3 6 0 12 0 21
ThatEvent.IsStatic.cs 100.00% 12 0 0 0 3 6 0 12 0 21
ThatEvent.IsVirtual.cs 100.00% 10 0 0 0 3 6 0 10 0 19
ThatEvent.Overrides.cs 100.00% 10 0 0 0 3 6 0 10 0 19
ThatEvents.AreAbstract.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatEvents.AreNullable.cs 100.00% 12 0 0 0 0 12 0 12 0 24
ThatEvents.AreOfExactType.cs 75.00% 6 2 0 0 3 0 0 6 2 11
ThatEvents.AreOfType.cs 87.50% 14 2 0 0 5 6 0 14 2 27
ThatEvents.AreSealed.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatEvents.AreStatic.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatEvents.AreVirtual.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatEvents.DoNotHave.cs 100.00% 14 0 0 0 4 6 0 14 0 24
ThatEvents.Have.cs 100.00% 16 0 0 0 6 6 0 16 0 28
ThatEvents.Override.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatField.DoesNotHave.cs 100.00% 2 0 0 0 1 0 0 2 0 3
ThatField.Has.cs 100.00% 12 0 0 0 5 4 0 12 0 21
ThatField.IsConstant.cs 100.00% 12 0 0 0 3 6 0 12 0 21
ThatField.IsNullable.cs 100.00% 10 0 0 0 3 6 0 10 0 19
ThatField.IsOfExactType.cs 100.00% 4 0 0 0 2 0 0 4 0 6
ThatField.IsOfType.cs 100.00% 14 0 0 0 4 4 0 14 0 22
ThatField.IsReadOnly.cs 100.00% 12 0 0 0 3 6 0 12 0 21
ThatField.IsRequired.cs 100.00% 10 0 0 0 3 6 0 10 0 19
ThatField.IsStatic.cs 100.00% 12 0 0 0 3 6 0 12 0 21
ThatFields.AreConstant.cs 100.00% 16 0 0 0 0 12 0 16 0 28
ThatFields.AreNullable.cs 100.00% 12 0 0 0 0 12 0 12 0 24
ThatFields.AreOfExactType.cs 75.00% 6 2 0 0 3 0 0 6 2 11
ThatFields.AreOfType.cs 87.50% 14 2 0 0 5 6 0 14 2 27
ThatFields.AreReadOnly.cs 100.00% 16 0 0 0 0 12 0 16 0 28
ThatFields.AreRequired.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatFields.AreStatic.cs 100.00% 16 0 0 0 0 12 0 16 0 28
ThatFields.DoNotHave.cs 100.00% 16 0 0 0 4 6 0 16 0 26
ThatFields.Have.cs 100.00% 20 0 0 0 6 6 0 20 0 32
ThatMember.DoesNotHaveName.cs 100.00% 1 0 0 0 0 0 0 1 0 1
ThatMember.HasName.cs 100.00% 5 0 0 0 1 3 0 5 0 9
ThatMember.IsInternal.cs 100.00% 6 0 0 0 1 5 0 6 0 12
ThatMember.IsObsolete.cs 100.00% 10 0 0 0 3 6 0 10 0 19
ThatMember.IsPrivate.cs 100.00% 6 0 0 0 1 5 0 6 0 12
ThatMember.IsPrivateProtected.cs 100.00% 6 0 0 0 1 5 0 6 0 12
ThatMember.IsProtected.cs 100.00% 6 0 0 0 1 5 0 6 0 12
ThatMember.IsProtectedInternal.cs 100.00% 6 0 0 0 1 5 0 6 0 12
ThatMember.IsPublic.cs 100.00% 6 0 0 0 1 5 0 6 0 12
ThatMembers.AreInternal.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatMembers.AreObsolete.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatMembers.ArePrivate.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatMembers.ArePrivateProtected.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatMembers.AreProtected.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatMembers.AreProtectedInternal.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatMembers.ArePublic.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatMembers.DoNotHaveName.cs 100.00% 8 0 0 0 0 8 0 8 0 16
ThatMembers.HaveName.cs 88.46% 23 3 0 0 5 25 0 23 3 56
ThatMethod.DoesNotHave.cs 100.00% 1 0 0 0 1 0 0 1 0 2
ThatMethod.Has.cs 100.00% 10 0 0 0 5 4 0 10 0 19
ThatMethod.HasInParameter.cs 100.00% 18 0 0 0 1 6 0 18 0 25
ThatMethod.HasOptionalParameter.cs 100.00% 18 0 0 0 1 6 0 18 0 25
ThatMethod.HasOutParameter.cs 100.00% 18 0 0 0 1 6 0 18 0 25
ThatMethod.HasParameter.cs 97.87% 46 0 0 1 12 18 0 46 1 77
ThatMethod.HasParameterCount.cs 100.00% 11 0 0 0 1 9 0 11 0 21
ThatMethod.HasParameterExactly.cs 90.00% 9 1 0 0 4 0 0 9 1 14
ThatMethod.HasParamsParameter.cs 100.00% 18 0 0 0 1 6 0 18 0 25
ThatMethod.HasRefParameter.cs 100.00% 18 0 0 0 1 6 0 18 0 25
ThatMethod.IsAbstract.cs 100.00% 12 0 0 0 3 6 0 12 0 21
ThatMethod.IsAnExtensionMethod.cs 100.00% 10 0 0 0 3 6 0 10 0 19
ThatMethod.IsAnOperator.cs 100.00% 20 0 0 0 6 18 0 20 0 44
ThatMethod.IsAsync.cs 100.00% 10 0 0 0 3 6 0 10 0 19
ThatMethod.IsGeneric.cs 100.00% 21 0 0 0 6 9 0 21 0 36
ThatMethod.IsSealed.cs 100.00% 12 0 0 0 3 6 0 12 0 21
ThatMethod.IsStatic.cs 100.00% 12 0 0 0 3 6 0 12 0 21
ThatMethod.IsVirtual.cs 100.00% 12 0 0 0 3 6 0 12 0 21
ThatMethod.Overrides.cs 100.00% 12 0 0 0 3 6 0 12 0 21
ThatMethod.Returns.cs 100.00% 8 0 0 0 3 3 0 8 0 14
ThatMethod.ReturnsExactly.cs 100.00% 4 0 0 0 2 0 0 4 0 6
ThatMethods.AreAbstract.cs 75.00% 12 0 0 4 0 12 0 12 4 28
ThatMethods.AreAsync.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatMethods.AreExtensionMethods.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatMethods.AreGeneric.cs 100.00% 16 0 0 0 1 13 0 16 0 30
ThatMethods.AreOperators.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatMethods.AreSealed.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatMethods.AreStatic.cs 100.00% 16 0 0 0 0 12 0 16 0 28
ThatMethods.AreVirtual.cs 100.00% 16 0 0 0 0 12 0 16 0 28
ThatMethods.DoNotHave.cs 100.00% 14 0 0 0 4 6 0 14 0 24
ThatMethods.Have.cs 100.00% 16 0 0 0 6 6 0 16 0 28
ThatMethods.HaveInParameter.cs 67.86% 19 3 0 6 0 6 0 19 9 34
ThatMethods.HaveOptionalParameter.cs 67.86% 19 3 0 6 0 6 0 19 9 34
ThatMethods.HaveOutParameter.cs 67.86% 19 3 0 6 0 6 0 19 9 34
ThatMethods.HaveParameter.cs 91.07% 51 0 0 5 18 18 0 51 5 92
ThatMethods.HaveParameterCount.cs 100.00% 10 0 0 0 1 9 0 10 0 20
ThatMethods.HaveParameterExactly.cs 100.00% 20 0 0 0 8 0 0 20 0 28
ThatMethods.HaveParamsParameter.cs 67.86% 19 3 0 6 0 6 0 19 9 34
ThatMethods.HaveRefParameter.cs 67.86% 19 3 0 6 0 6 0 19 9 34
ThatMethods.Override.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatMethods.Return.cs 100.00% 20 0 0 0 5 6 0 20 0 31
ThatMethods.ReturnExactly.cs 100.00% 8 0 0 0 3 0 0 8 0 11
ThatProperties.AreAbstract.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatProperties.AreExtensionProperties.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatProperties.AreIndexers.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatProperties.AreNullable.cs 100.00% 12 0 0 0 0 12 0 12 0 24
ThatProperties.AreOfExactType.cs 75.00% 6 2 0 0 3 0 0 6 2 11
ThatProperties.AreOfType.cs 87.50% 14 2 0 0 5 6 0 14 2 27
ThatProperties.AreReadable.cs 100.00% 4 0 0 0 0 6 0 4 0 10
ThatProperties.AreReadOnly.cs 100.00% 4 0 0 0 0 6 0 4 0 10
ThatProperties.AreReadWrite.cs 100.00% 4 0 0 0 0 6 0 4 0 10
ThatProperties.AreRequired.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatProperties.AreSealed.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatProperties.AreStatic.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatProperties.AreVirtual.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatProperties.AreWritable.cs 100.00% 4 0 0 0 0 6 0 4 0 10
ThatProperties.AreWriteOnly.cs 100.00% 4 0 0 0 0 6 0 4 0 10
ThatProperties.DoNotHave.cs 100.00% 14 0 0 0 4 6 0 14 0 24
ThatProperties.Have.cs 100.00% 16 0 0 0 6 6 0 16 0 28
ThatProperties.HaveAGetter.cs 100.00% 4 0 0 0 0 6 0 4 0 10
ThatProperties.HaveAnInitSetter.cs 100.00% 4 0 0 0 0 6 0 4 0 10
ThatProperties.HaveASetter.cs 100.00% 4 0 0 0 0 6 0 4 0 10
ThatProperties.Override.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatProperty.DoesNotHave.cs 100.00% 1 0 0 0 1 0 0 1 0 2
ThatProperty.Has.cs 100.00% 10 0 0 0 5 4 0 10 0 19
ThatProperty.HasAGetter.cs 100.00% 10 0 0 0 3 6 0 10 0 19
ThatProperty.HasAnInitSetter.cs 100.00% 10 0 0 0 3 6 0 10 0 19
ThatProperty.HasASetter.cs 100.00% 10 0 0 0 3 6 0 10 0 19
ThatProperty.IsAbstract.cs 100.00% 12 0 0 0 3 6 0 12 0 21
ThatProperty.IsAnExtensionProperty.cs 100.00% 10 0 0 0 3 6 0 10 0 19
ThatProperty.IsAnIndexer.cs 100.00% 10 0 0 0 3 6 0 10 0 19
ThatProperty.IsNullable.cs 100.00% 10 0 0 0 3 6 0 10 0 19
ThatProperty.IsOfExactType.cs 100.00% 4 0 0 0 2 0 0 4 0 6
ThatProperty.IsOfType.cs 100.00% 14 0 0 0 4 4 0 14 0 22
ThatProperty.IsReadable.cs 100.00% 10 0 0 0 3 6 0 10 0 19
ThatProperty.IsReadOnly.cs 100.00% 10 0 0 0 3 6 0 10 0 19
ThatProperty.IsReadWrite.cs 100.00% 10 0 0 0 3 6 0 10 0 19
ThatProperty.IsRequired.cs 100.00% 10 0 0 0 3 6 0 10 0 19
ThatProperty.IsSealed.cs 100.00% 12 0 0 0 3 6 0 12 0 21
ThatProperty.IsStatic.cs 100.00% 12 0 0 0 3 6 0 12 0 21
ThatProperty.IsVirtual.cs 100.00% 10 0 0 0 3 6 0 10 0 19
ThatProperty.IsWritable.cs 100.00% 10 0 0 0 3 6 0 10 0 19
ThatProperty.IsWriteOnly.cs 100.00% 10 0 0 0 3 6 0 10 0 19
ThatProperty.Overrides.cs 100.00% 10 0 0 0 3 6 0 10 0 19
ThatType.ContainsMethods.cs 94.44% 17 1 0 0 2 10 0 17 1 30
ThatType.DependsOn.cs 83.61% 51 8 0 2 11 24 0 51 10 96
ThatType.DependsOnlyOn.cs 76.47% 26 4 0 4 6 18 0 26 8 58
ThatType.DoesNotHave.cs 100.00% 1 0 0 0 1 0 0 1 0 2
ThatType.Has.cs 100.00% 10 0 0 0 5 4 0 10 0 19
ThatType.HasADefaultConstructor.cs 100.00% 10 0 0 0 3 6 0 10 0 19
ThatType.HasConversionOperator.cs 100.00% 30 0 0 0 5 9 0 30 0 44
ThatType.HasDependenciesOutside.cs 88.24% 30 4 0 0 6 18 0 30 4 58
ThatType.HasNamespace.cs 100.00% 5 0 0 0 1 3 0 5 0 9
ThatType.HasOperator.cs 100.00% 24 0 0 0 6 11 0 24 0 41
ThatType.Implements.cs 100.00% 27 0 0 0 7 8 0 27 0 42
ThatType.InheritsFrom.cs 100.00% 28 0 0 0 9 10 0 28 0 47
ThatType.IsAbstract.cs 100.00% 12 0 0 0 3 6 0 12 0 21
ThatType.IsAClass.cs 100.00% 7 0 0 0 2 6 0 7 0 15
ThatType.IsADelegate.cs 100.00% 7 0 0 0 2 6 0 7 0 15
ThatType.IsAnAttribute.cs 100.00% 7 0 0 0 2 6 0 7 0 15
ThatType.IsAnEnum.cs 100.00% 9 0 0 0 2 6 0 9 0 17
ThatType.IsAnException.cs 100.00% 7 0 0 0 2 6 0 7 0 15
ThatType.IsAnInterface.cs 100.00% 9 0 0 0 2 6 0 9 0 17
ThatType.IsARecord.cs 100.00% 7 0 0 0 2 6 0 7 0 15
ThatType.IsARecordStruct.cs 100.00% 7 0 0 0 2 6 0 7 0 15
ThatType.IsARefStruct.cs 100.00% 7 0 0 0 2 6 0 7 0 15
ThatType.IsAssignableTo.cs 100.00% 30 0 0 0 14 16 0 30 0 60
ThatType.IsAStruct.cs 100.00% 7 0 0 0 2 6 0 7 0 15
ThatType.IsGeneric.cs 100.00% 21 0 0 0 6 9 0 21 0 36
ThatType.IsImmutable.cs 100.00% 16 0 0 0 5 6 0 16 0 27
ThatType.IsInstantiable.cs 100.00% 17 0 0 0 7 8 0 17 0 32
ThatType.IsNested.cs 100.00% 12 0 0 0 3 6 0 12 0 21
ThatType.IsReadOnly.cs 100.00% 10 0 0 0 3 6 0 10 0 19
ThatType.IsSealed.cs 100.00% 12 0 0 0 3 6 0 12 0 21
ThatType.IsStatic.cs 100.00% 12 0 0 0 3 6 0 12 0 21
ThatType.IsWithinNamespace.cs 100.00% 5 0 0 0 1 7 0 5 0 13
ThatType.OnlyHasNonNullableMembers.cs 90.48% 19 2 0 0 3 6 0 19 2 30
ThatType.OnlyHasNullableMembers.cs 90.48% 19 2 0 0 3 6 0 19 2 30
ThatTypes.AreAbstract.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatTypes.AreAssignableTo.cs 81.67% 49 11 0 0 16 24 0 49 11 100
ThatTypes.AreAttributes.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatTypes.AreClasses.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatTypes.AreDelegates.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatTypes.AreEnums.cs 100.00% 16 0 0 0 0 12 0 16 0 28
ThatTypes.AreExceptions.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatTypes.AreGeneric.cs 100.00% 16 0 0 0 1 13 0 16 0 30
ThatTypes.AreImmutable.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatTypes.AreInstantiable.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatTypes.AreInterfaces.cs 100.00% 16 0 0 0 0 12 0 16 0 28
ThatTypes.AreNested.cs 100.00% 16 0 0 0 0 12 0 16 0 28
ThatTypes.AreReadOnly.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatTypes.AreRecords.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatTypes.AreRecordStructs.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatTypes.AreRefStructs.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatTypes.AreSealed.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatTypes.AreStatic.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatTypes.AreStructs.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatTypes.AreWithinNamespace.cs 90.00% 9 1 0 0 0 16 0 9 1 26
ThatTypes.ContainMethods.cs 90.00% 9 1 0 0 0 10 0 9 1 20
ThatTypes.DependOn.cs 71.05% 27 0 0 11 0 32 0 27 11 70
ThatTypes.DependOnlyOn.cs 64.29% 18 2 0 8 4 20 0 18 10 52
ThatTypes.DoNotHave.cs 100.00% 14 0 0 0 4 6 0 14 0 24
ThatTypes.Have.cs 100.00% 16 0 0 0 6 6 0 16 0 28
ThatTypes.HaveADefaultConstructor.cs 100.00% 10 0 0 0 0 12 0 10 0 22
ThatTypes.HaveConversionOperator.cs 96.55% 28 1 0 0 4 22 0 28 1 55
ThatTypes.HaveDependenciesOutside.cs 100.00% 30 0 0 0 4 20 0 30 0 54
ThatTypes.HaveNamespace.cs 100.00% 6 0 0 0 0 8 0 6 0 14
ThatTypes.HaveNoDependencyCycles.cs 76.92% 30 6 0 3 14 18 0 30 9 71
ThatTypes.HaveOperator.cs 100.00% 24 0 0 0 5 20 0 24 0 49
ThatTypes.Implement.cs 71.88% 46 12 0 6 12 12 0 46 18 88
ThatTypes.InheritFrom.cs 93.10% 54 4 0 0 16 16 0 54 4 90
ThatTypes.OnlyHaveNonNullableMembers.cs 100.00% 12 0 0 0 2 6 0 12 0 20
ThatTypes.OnlyHaveNullableMembers.cs 100.00% 12 0 0 0 2 6 0 12 0 20

The final mutation score is 92.32%

Coverage Thresholds: high:80 low:60 break:0

@github-actions

Copy link
Copy Markdown

This is addressed in release v3.0.0.

@github-actions github-actions Bot added the state: released The issue is released label Oct 10, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

state: released The issue is released

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant