Skip to content

docs: document missing features#151

Merged
vbreuss merged 2 commits into
mainfrom
topic/improve-readme
May 20, 2026
Merged

docs: document missing features#151
vbreuss merged 2 commits into
mainfrom
topic/improve-readme

Conversation

@vbreuss
Copy link
Copy Markdown
Member

@vbreuss vbreuss commented May 20, 2026

Reworks the README to cover the full public API surface and fixes a handful of small documentation errors.

Coverage gaps filled

Previously undocumented APIs are now described:

  • Statistics: a dedicated Recorded calls (IFileSystemStatistics) section covering .Recorded(), the per-member buckets (File, Directory, FileInfo[path], DirectoryInfo[path], DriveInfo, FileStream, FileSystemWatcher, FileVersionInfo, Path), property .Get() / .Set(), the count vocabulary, and the positional-predicate rules (skip / arity-exclude / type-exclude).
  • IFileInfo: DoesNotExist, HasAttribute / DoesNotHaveAttribute, IsReadOnly / IsNotReadOnly, HasContent(byte[]), WhoseParent (NET10+).
  • IDirectoryInfo: DoesNotExist, explicit IsEmpty, HasFile / DoesNotHaveFile, HasDirectory / DoesNotHaveDirectory, HasAttribute / DoesNotHaveAttribute, WhoseParent (NET10+).
  • IFileSystem: DoesNotHaveFile, DoesNotHaveDirectory.
  • IFileVersionInfo: covered vs. fall-back-to-direct-property assertions in a table.

Errors fixed

  • HasFile(...).LastWriteTime(...)WithLastWriteTime(...) (the previous example would not compile).
  • Replaced undefined sut / path variables in the timestamps snippet with the surrounding fileSystem / "my-file.txt".
  • Quantifier listing is now consistent (AtLeast, AtMost, Exactly, Between, Never, Once) across TriggeredNotification, watcher Triggered, and Executed; watcher Triggered explicitly documents the quantifier.
  • Resolved the ambiguous ### File heading (could mean either the file-system chain or IFileInfo); the chain is now ## File system → ### File chain and the subject is ## File (IFileInfo).

Restructuring

  • Reorganised top-level sections by subject type: File system → File → Directory → Drive → FileVersionInfo → Notifications → Watcher events → ChangeDescription → Statistics → Timer.
  • The UNC-not-supported note is now a small blockquote under Drive rather than mid-paragraph in the snippet preamble.
  • Collapsed the duplicate .Which description (previously repeated under each HasFile / HasDirectory / HasDrive block) into one bridging subsection under File system.

@vbreuss vbreuss self-assigned this May 20, 2026
@vbreuss vbreuss added the documentation Improvements or additions to documentation label May 20, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented May 20, 2026

Test Results

    7 files  ±0      7 suites  ±0   52s ⏱️ -1s
  774 tests ±0    773 ✅ ±0  1 💤 ±0  0 ❌ ±0 
4 606 runs  ±0  4 605 ✅ ±0  1 💤 ±0  0 ❌ ±0 

Results for commit 9ec2fbf. ± Comparison against base commit bb4df6c.

♻️ This comment has been updated with latest results.

@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)
Intel Xeon Platinum 8370C CPU 2.80GHz, 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-v4
DefaultJob : .NET 10.0.8 (10.0.8, 10.0.826.23019), X64 RyuJIT x86-64-v4

Method Mean Error StdDev Gen0 Gen1 Allocated
Dummy_aweXpect 5.024 μs 0.0519 μs 0.0486 μs 0.2899 0.0610 7.19 KB

@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
FileSystemExtensions.TriggeredNotification.cs 60.00% 9 4 0 2 8 0 9 6 23
FileSystemWatcherExtensions.Triggered.cs 60.00% 9 4 0 2 8 7 9 6 30
Results\DidNotTriggerNotificationResult.cs 100.00% 5 0 1 0 3 0 6 0 9
Results\DidNotTriggerWatcherResult.cs 100.00% 5 0 1 0 3 0 6 0 9
Results\TriggeredNotificationResult.cs 100.00% 6 0 0 0 3 0 6 0 9
Results\TriggeredWatcherResult.cs 100.00% 6 0 0 0 3 0 6 0 9
TimerExtensions.cs 50.00% 1 0 0 1 2 0 1 1 4

The final mutation score is 76.79%

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

@sonarqubecloud
Copy link
Copy Markdown

@vbreuss vbreuss merged commit 1f4b37c into main May 20, 2026
12 checks passed
@vbreuss vbreuss deleted the topic/improve-readme branch May 20, 2026 16:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

documentation Improvements or additions to documentation

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant