Skip to content

feat: add required filters and assertions for fields#340

Merged
vbreuss merged 2 commits into
mainfrom
feature/field-required
Jun 6, 2026
Merged

feat: add required filters and assertions for fields#340
vbreuss merged 2 commits into
mainfrom
feature/field-required

Conversation

@vbreuss

@vbreuss vbreuss commented Jun 6, 2026

Copy link
Copy Markdown
Member

Add a WhichAreRequired filter and IsRequired / AreRequired assertions (plus negated variants) for FieldInfo, matching what already exists for properties.


@vbreuss vbreuss self-assigned this Jun 6, 2026
@vbreuss vbreuss added the enhancement New feature or request label Jun 6, 2026
@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

Test Results

    13 files  ±  0      13 suites  ±0   9m 50s ⏱️ +11s
 6 696 tests + 24   6 693 ✅ + 24   3 💤 ±0  0 ❌ ±0 
40 021 runs  +144  40 008 ✅ +144  13 💤 ±0  0 ❌ ±0 

Results for commit fd4f6e6. ± Comparison against base commit 4079331.

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

🚀 Benchmark Results

Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 7763 2.78GHz, 1 CPU, 4 logical and 2 physical cores
.NET SDK 10.0.300
[Host] : .NET 10.0.8 (10.0.8, 10.0.826.23019), X64 RyuJIT x86-64-v3
DefaultJob : .NET 10.0.8 (10.0.8, 10.0.826.23019), X64 RyuJIT x86-64-v3

Method Mean Error StdDev Gen0 Allocated
TypeIsNotStatic_aweXpect 221.9 ns 3.97 ns 3.72 ns 0.0386 648 B

@github-actions

github-actions Bot commented Jun 6, 2026

Copy link
Copy Markdown

👽 Mutation Results

Mutation testing badge

aweXpect.Reflection

Details
File Score Killed Survived Timeout No Coverage Ignored Compile Errors Total Detected Total Undetected Total Mutants
Filters/FieldFilters.WhichAreRequired.cs 100.00% 3 0 0 0 0 0 3 0 3
Helpers/FieldInfoHelpers.cs 97.14% 34 1 0 0 12 2 34 1 49
ThatField.IsRequired.cs 100.00% 10 0 0 0 3 6 10 0 19
ThatFields.AreRequired.cs 100.00% 18 0 0 0 4 12 18 0 34

The final mutation score is 98.48%

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

@vbreuss vbreuss force-pushed the feature/field-required branch from 7847ee6 to 6516aef Compare June 6, 2026 21:06
@vbreuss vbreuss enabled auto-merge (squash) June 6, 2026 21:06
@vbreuss vbreuss force-pushed the feature/field-required branch from 6516aef to fd53ec5 Compare June 6, 2026 21:08
@vbreuss vbreuss disabled auto-merge June 6, 2026 21:13
@vbreuss vbreuss merged commit 475b693 into main Jun 6, 2026
8 checks passed
@vbreuss vbreuss deleted the feature/field-required branch June 6, 2026 21:13
@sonarqubecloud

sonarqubecloud Bot commented Jun 6, 2026

Copy link
Copy Markdown

@github-actions

github-actions Bot commented Jun 7, 2026

Copy link
Copy Markdown

This is addressed in release v2.0.0.

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

Labels

enhancement New feature or request state: released The issue is released

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Required filter/assertions for fields

1 participant