Skip to content

feat: complete IFileVersionInfo expectations#152

Merged
vbreuss merged 2 commits into
mainfrom
topic/add-missing-fileversioninfo-features
May 20, 2026
Merged

feat: complete IFileVersionInfo expectations#152
vbreuss merged 2 commits into
mainfrom
topic/add-missing-fileversioninfo-features

Conversation

@vbreuss
Copy link
Copy Markdown
Member

@vbreuss vbreuss commented May 20, 2026

Add dedicated assertions for every IFileVersionInfo property: the remaining 7 strings (HasComments, HasFileName, HasInternalName, HasLegalCopyright, HasLegalTrademarks, HasPrivateBuild, HasSpecialBuild), the 8 integer version parts (HasFileBuildPart, HasFileMajorPart, HasFileMinorPart, HasFilePrivatePart, HasProductBuildPart, HasProductMajorPart, HasProductMinorPart, HasProductPrivatePart) and the boolean pairs IsPrivateBuild / IsNotPrivateBuild and IsSpecialBuild / IsNotSpecialBuild.

Add dedicated assertions for every `IFileVersionInfo` property — the
remaining 7 strings (`HasComments`, `HasFileName`, `HasInternalName`,
`HasLegalCopyright`, `HasLegalTrademarks`, `HasPrivateBuild`,
`HasSpecialBuild`), the 8 integer version parts (`HasFileBuildPart`,
`HasFileMajorPart`, `HasFileMinorPart`, `HasFilePrivatePart`,
`HasProductBuildPart`, `HasProductMajorPart`, `HasProductMinorPart`,
`HasProductPrivatePart`) and the boolean pairs `IsPrivateBuild` /
`IsNotPrivateBuild` and `IsSpecialBuild` / `IsNotSpecialBuild`.
@vbreuss vbreuss self-assigned this May 20, 2026
@vbreuss vbreuss added the enhancement New feature or request label May 20, 2026
@vbreuss vbreuss enabled auto-merge (squash) May 20, 2026 16:16
@sonarqubecloud
Copy link
Copy Markdown

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 20, 2026

👽 Mutation Results

Mutation testing badge

aweXpect.Testably

Details
File Score Killed Survived Timeout No Coverage Ignored Compile Errors Total Detected Total Undetected Total Mutants
FileVersionInfoExtensions.HasComments.cs 100.00% 1 0 0 0 1 0 1 0 2
FileVersionInfoExtensions.HasFileBuildPart.cs 100.00% 1 0 0 0 0 0 1 0 1
FileVersionInfoExtensions.HasFileMajorPart.cs 100.00% 1 0 0 0 0 0 1 0 1
FileVersionInfoExtensions.HasFileMinorPart.cs 100.00% 1 0 0 0 0 0 1 0 1
FileVersionInfoExtensions.HasFileName.cs 100.00% 1 0 0 0 1 0 1 0 2
FileVersionInfoExtensions.HasFilePrivatePart.cs 100.00% 1 0 0 0 0 0 1 0 1
FileVersionInfoExtensions.HasInternalName.cs 100.00% 1 0 0 0 1 0 1 0 2
FileVersionInfoExtensions.HasLegalCopyright.cs 100.00% 1 0 0 0 1 0 1 0 2
FileVersionInfoExtensions.HasLegalTrademarks.cs 100.00% 1 0 0 0 1 0 1 0 2
FileVersionInfoExtensions.HasPrivateBuild.cs 100.00% 1 0 0 0 1 0 1 0 2
FileVersionInfoExtensions.HasProductBuildPart.cs 100.00% 1 0 0 0 0 0 1 0 1
FileVersionInfoExtensions.HasProductMajorPart.cs 100.00% 1 0 0 0 0 0 1 0 1
FileVersionInfoExtensions.HasProductMinorPart.cs 100.00% 1 0 0 0 0 0 1 0 1
FileVersionInfoExtensions.HasProductPrivatePart.cs 100.00% 1 0 0 0 0 0 1 0 1
FileVersionInfoExtensions.HasSpecialBuild.cs 100.00% 1 0 0 0 1 0 1 0 2
FileVersionInfoExtensions.IsPrivateBuild.cs 50.00% 2 2 0 0 0 0 2 2 4
FileVersionInfoExtensions.IsSpecialBuild.cs 50.00% 2 2 0 0 0 0 2 2 4
Helpers\FileVersionInfoConstraints.cs 50.00% 23 0 0 23 21 42 23 23 109
Recorded\RecordedDirectoryInfoBucket.cs 100.00% 4 0 0 0 0 0 4 0 4
Recorded\RecordedDirectoryInfoInstance.cs 100.00% 19 0 0 0 3 0 19 0 22
Recorded\RecordedDirectoryMethods.cs 45.28% 24 11 0 18 2 0 24 29 55
Recorded\RecordedDriveInfoBucket.cs 100.00% 4 0 0 0 0 0 4 0 4
Recorded\RecordedDriveInfoInstance.cs 100.00% 2 0 0 0 1 0 2 0 3
Recorded\RecordedFileInfoBucket.cs 100.00% 4 0 0 0 0 0 4 0 4
Recorded\RecordedFileInfoInstance.cs 100.00% 17 0 0 0 1 0 17 0 18
Recorded\RecordedFileMethods.cs 65.81% 77 3 0 37 0 0 77 40 117
Recorded\RecordedFileStreamBucket.cs 100.00% 8 0 0 0 0 0 8 0 8
Recorded\RecordedFileStreamInstance.cs 100.00% 25 0 0 0 1 0 25 0 26
Recorded\RecordedFileSystemWatcherBucket.cs 100.00% 5 0 0 0 0 0 5 0 5
Recorded\RecordedFileSystemWatcherInstance.cs 100.00% 5 0 0 0 1 0 5 0 6
Recorded\RecordedFileVersionInfoBucket.cs 100.00% 3 0 0 0 0 0 3 0 3
Recorded\RecordedFileVersionInfoInstance.cs 100.00% 2 0 0 0 1 0 2 0 3
Recorded\RecordedPathMethods.cs 100.00% 33 0 0 0 0 0 33 0 33
Recorded\RecordedProperty.cs 100.00% 2 0 0 0 0 0 2 0 2
Results\DriveResult.cs 100.00% 2 0 0 0 0 0 2 0 2

The final mutation score is 74.33%

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

@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 20, 2026

🚀 Benchmark Results

Details

BenchmarkDotNet v0.15.8, Linux Ubuntu 24.04.4 LTS (Noble Numbat)
AMD EPYC 7763 2.59GHz, 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 Gen1 Allocated
Dummy_aweXpect 4.621 μs 0.0486 μs 0.0406 μs 0.4349 0.0916 7.19 KB

@github-actions
Copy link
Copy Markdown

Test Results

    7 files  ±  0      7 suites  ±0   47s ⏱️ -7s
  831 tests + 57    830 ✅ + 57  1 💤 ±0  0 ❌ ±0 
4 948 runs  +342  4 947 ✅ +342  1 💤 ±0  0 ❌ ±0 

Results for commit 29d1eeb. ± Comparison against base commit 1f4b37c.

@vbreuss vbreuss merged commit 4a672f8 into main May 20, 2026
12 checks passed
@vbreuss vbreuss deleted the topic/add-missing-fileversioninfo-features branch May 20, 2026 16:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant