• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In
Recached

dennisdoomen / fluentassertions
97%
develop: 97%

Build:
Build:
LAST BUILD BRANCH: perf/reduce-equivalency-allocations
DEFAULT BRANCH: develop
Repo Added 19 Feb 2022 07:48PM UTC
Token jjdw84LuOY4SCPxWknlb49nuYqBaKYy9l regen
Build 382 Last
Files 348
Badge
Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

LAST BUILD ON BRANCH perf/reduce-equivalency-allocations
branch: SELECT
CHANGE BRANCH
x
Sync Branches
  • No branch selected
  • 3126-contain-equivalent-to
  • Docs/NewHomePageSponsors
  • Docs/NewSponsors
  • Docs/RemoveSemanticMerge
  • Feature/ExtensibilityDetection
  • Feature/ImproveBuildScript
  • Feature/MarkAssemblyWithCustomAssertions
  • Feature/QodanaVersion
  • Fix/1502WhichCallerIdentity
  • Fix/1840
  • Fix/AddNanSupport
  • Fix/DeclaringType
  • Fix/Docs
  • Fix/ExplicitInterfaceImpl
  • Fix/GlobalRecordSettings
  • Fix/HandleNan
  • Fix/HiddenBaseClassField
  • Fix/ImproveCodeCoverage
  • Fix/MaxDepth
  • Fix/NetHttpRef
  • Fix/Qodana
  • Fix/QodanaPrMode
  • Fix/QodanaReport
  • Fix/QodanaToken
  • Fix/VersionCalculation
  • Fix/WebsiteBuilding
  • Fix/WithMapping
  • Refactor/AddCoverage
  • Refactor/AddressQodanaIssues
  • Refactor/BuildConfiguration
  • Refactor/BumpDependencies
  • Refactor/EditorConfig
  • Refactor/EquivalencyValidator
  • Refactor/GroupSomeSpecs
  • Refactor/InternalNaming
  • Refactor/NetTargets
  • Refactor/NumericSpecs
  • Refactor/RemoveDataSet
  • Refactor/TypeMemberReflection
  • Refactor/UseMeziantouAnalyzer
  • Refactor/UseRoslynator
  • Release612
  • Release67
  • Spike/QodanaTest
  • Spike/RevisitAssertionScopeTake2
  • add-contributor-grant
  • add-package-guard
  • backport-tunit
  • backport-xunit3
  • bump-60-dependencies
  • bump-dependencies
  • cleanup-exception-tests
  • cleanup-stack-trace
  • compare-datetime
  • demo
  • disable-page-opening
  • doc-changes
  • drop-unsupported-frameworks
  • exclude-member-names
  • expose-clone-defaults
  • expose-inline-assertion-type
  • feature/902-span
  • feature/blah
  • feature/strict-typing
  • fix-3148
  • fix-378
  • fix-breaking-changes
  • fix-canceled-task
  • fix-crash
  • fix-nav-links
  • fix-numeric-detection
  • fix-qodana-on-master
  • fix-website
  • fix/2695-use-line-breaks
  • fix/2704-formatting-crash
  • fix/2747
  • fix/2787-cyclic-references
  • fix/2812-with-mapping
  • fix/378-improve-performance
  • fix/871-exception-chaining
  • fix/default-interface-property
  • fix/docs
  • fix/dotned
  • fix/nestedassertionscopes
  • fix/tracing-concurrency
  • fix/write-only-properties
  • formatting-crash
  • gitbutler/workspace
  • improve-exception-messages
  • improve-string-comparison
  • inline-assertions
  • more-branch-fixes
  • perf/reduce-equivalency-allocations
  • perf/speed-up-be-equivalent-to
  • prepare-launch
  • prevent-accidental-update
  • reconnect-license
  • refactor/cleanup-editor-config
  • refactor/small-improvements
  • release-brach-in-codeql
  • rename-statement-builder
  • toggle-soft-warning
  • update-docs-link
  • updated-readme
  • upmerge-from-7
  • upmerge-from-70
  • upmerge-from-master
  • without-message

12 Apr 2026 07:05PM UTC coverage: 97.169% (-0.001%) from 97.17%
24314125428

push

github

dennisdoomen
Refine IsCyclicReference and IEnumerable interface caching

- Add type.IsValueType fast-path in IsCyclicReference to skip the
  GetEqualityStrategy dict lookup for value types (which can never
  form reference cycles)
- Move TypeCode != Object check outside ConcurrentDictionary factory
  in GetIEnumerableInterfaces so primitive/value types bypass the dict
  lookup entirely instead of paying a ConcurrentDict hit per call

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>

4081 of 4358 branches covered (93.64%)

Branch coverage included in aggregate %.

7 of 7 new or added lines in 2 files covered. (100.0%)

13151 of 13376 relevant lines covered (98.32%)

67926.05 hits per line

Relevant lines Covered
Build:
Build:
13376 RELEVANT LINES 13151 COVERED LINES
67926.05 HITS PER LINE
Source Files on 3126-contain-equivalent-to
  • Tree
  • List 348
  • Changed 202
  • Source Changed 2
  • Coverage Changed 202
Coverage ∆ File Lines Relevant Covered Missed Hits/Line Branch Hits Branch Misses

Recent builds

Builds Branch Commit Type Ran Committer Via Coverage
24314125428 perf/reduce-equivalency-allocations Refine IsCyclicReference and IEnumerable interface caching - Add type.IsValueType fast-path in IsCyclicReference to skip the GetEqualityStrategy dict lookup for value types (which can never form reference cycles) - Move TypeCode != Object che... push 12 Apr 2026 07:14PM UTC dennisdoomen github
97.17
24312902651 perf/reduce-equivalency-allocations Cache Node.Depth to avoid repeated string scanning Node.Depth previously computed the depth on every call by counting '.' characters in Subject.PathAndName using LINQ. This method is called in ShouldContinueThisDeep for every AssertEquivalencyOf ... push 12 Apr 2026 06:10PM UTC dennisdoomen github
97.17
24307980083 perf/reduce-equivalency-allocations Cache Node.Depth to avoid repeated string scanning Node.Depth previously computed the depth on every call by counting '.' characters in Subject.PathAndName using LINQ. This method is called in ShouldContinueThisDeep for every AssertEquivalencyOf ... push 12 Apr 2026 01:47PM UTC dennisdoomen github
97.2
24306479672 perf/speed-up-be-equivalent-to Make closest-match helpers instance methods The strategy already owns TryToMatchCount and TryToMatch, so keeping the closest-match helper chain static forced delegate plumbing without adding value. Make those helpers instance methods so they can ... push 12 Apr 2026 12:20PM UTC dennisdoomen github
97.18
24156118526 perf/speed-up-be-equivalent-to Include nested scope failures in dry-run failure count GetFailureCount() was only counting direct RegisterFailure() calls. Failures from nested assertion scopes (e.g. via AssertionRuleEquivalencyStep) are stored in assertionStrategy.FailureMessag... push 08 Apr 2026 08:16PM UTC dennisdoomen github
97.18
24155294585 perf/speed-up-be-equivalent-to fix: include nested scope failures in dry-run failure count GetFailureCount() was only counting direct RegisterFailure() calls. Failures from nested assertion scopes (e.g. via AssertionRuleEquivalencyStep) are stored in assertionStrategy.FailureM... push 08 Apr 2026 07:58PM UTC dennisdoomen github
97.18
24154245225 perf/speed-up-be-equivalent-to fix: GetFailureCount includes nested scope failures; add Discard() to prevent outer scope contamination TryToMatchCount creates a dry-run AssertionScope with SkipFormattingForFailures=true. When custom equivalency rules (e.g. Using<T>().WhenTypeI... push 08 Apr 2026 07:35PM UTC dennisdoomen github
97.18
24040157145 perf/speed-up-be-equivalent-to fix: GetFailureCount includes nested scope failures; add Discard() to prevent outer scope contamination TryToMatchCount creates a dry-run AssertionScope with SkipFormattingForFailures=true. When custom equivalency rules (e.g. Using<T>().WhenTypeI... push 06 Apr 2026 04:37PM UTC dennisdoomen github
97.18
24038663532 perf/speed-up-be-equivalent-to fix: GetFailureCount includes nested scope failures; add Discard() to prevent outer scope contamination TryToMatchCount creates a dry-run AssertionScope with SkipFormattingForFailures=true. When custom equivalency rules (e.g. Using<T>().WhenTypeI... push 06 Apr 2026 03:56PM UTC dennisdoomen github
97.18
23306688048 update-docs-link Reroute the docs link to Xceed push 19 Mar 2026 05:09PM UTC Dennis Doomen github
97.2
See All Builds (327)

Badge your Repo: fluentassertions

We detected this repo isn’t badged! Grab the embed code to the right, add it to your repo to show off your code coverage, and when the badge is live hit the refresh button to remove this message.

Could not find badge in README.

Embed ▾
README BADGES
x

If you need to use a raster PNG badge, change the '.svg' to '.png' in the link

Markdown

Textile

RDoc

HTML

Rst

Refresh
  • Settings
  • Repo on GitHub
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc