Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: thomhurst/TUnit
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v1.17.29
Choose a base ref
...
head repository: thomhurst/TUnit
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v1.17.36
Choose a head ref
  • 7 commits
  • 98 files changed
  • 2 contributors

Commits on Feb 26, 2026

  1. Configuration menu
    Copy the full SHA
    b14b866 View commit details
    Browse the repository at this point in the history
  2. chore(deps): update tunit to 1.17.29 (#5008)

    Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
    thomhurst and renovate-bot authored Feb 26, 2026
    Configuration menu
    Copy the full SHA
    fe98702 View commit details
    Browse the repository at this point in the history
  3. chore(deps): update aspire to 13.1.2 (#5010)

    Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
    thomhurst and renovate-bot authored Feb 26, 2026
    Configuration menu
    Copy the full SHA
    9cad49b View commit details
    Browse the repository at this point in the history
  4. chore(deps): update dependency polyfill to 9.12.0 (#5012)

    Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
    thomhurst and renovate-bot authored Feb 26, 2026
    Configuration menu
    Copy the full SHA
    780cfc6 View commit details
    Browse the repository at this point in the history
  5. chore(deps): update dependency polyfill to 9.12.0 (#5011)

    Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
    thomhurst and renovate-bot authored Feb 26, 2026
    Configuration menu
    Copy the full SHA
    4790787 View commit details
    Browse the repository at this point in the history
  6. chore(deps): update actions/download-artifact action to v8 (#5014)

    Co-authored-by: Renovate Bot <renovate@whitesourcesoftware.com>
    thomhurst and renovate-bot authored Feb 26, 2026
    Configuration menu
    Copy the full SHA
    692c239 View commit details
    Browse the repository at this point in the history
  7. feat(mocks): concise API — inline lambdas, untyped Any(), global stat…

    …ic import (#5017)
    
    * feat(mocks): generate Func<T, bool> overloads for inline lambda predicates
    
    Enable inline lambda syntax in mock setup/verification by generating
    additional extension method overloads where eligible Arg<T> parameters
    are replaced with Func<T, bool>. This sidesteps CS1660 (lambdas cannot
    implicitly convert to non-delegate types) while reusing the existing
    implicit Arg<T>(Func<T, bool>) conversion internally.
    
    For N eligible parameters, generates all 2^N - 1 overloads (capped at
    N=8). Eligible parameters are In/In_Readonly direction, non-ref-struct.
    Out and Ref parameters are excluded.
    
    * feat(mocks): concise API with untyped Any(), implicit conversions, and global static import
    
    Add untyped `Arg.Any()` returning a sentinel that implicitly converts to
    `Arg<T>` via `implicit operator Arg<T>(Arg)`, enabling `Any()` without
    type arguments. Add `implicit operator Arg<T>(Func<T, bool>)` for
    predicate matching. Add `global using static Arg` to TUnit.Mocks.targets
    so matchers (`Any()`, `Is<T>()`, `IsInRange()`, etc.) can be called
    without the `Arg.` prefix.
    
    Update all tests and docs to use the concise syntax.
    
    * test(mocks): add Func-typed parameter ambiguity test
    
    Verify that when a mocked interface has a Func<int, bool> parameter,
    the generated Func<Func<int,bool>, bool> overload doesn't conflict
    with the base Arg<Func<int,bool>> overload.
    
    * refactor(mocks): address review — AnyArg sentinel, reduce overloads, extract helper
    
    - Remove global AD0001 suppression from Library.props (not needed)
    - Refactor Arg back to static class; extract AnyArg sentinel type for
      untyped Any() to keep single-responsibility (factory vs sentinel)
    - Cap Func overload generation at 4 params (MaxFuncOverloadParams=4,
      max 15 overloads) separate from MaxTypedParams=8 for wrappers
    - Extract GetReturnTypeInfo() helper shared by EmitMemberMethodBody
      and EmitSingleFuncOverload to eliminate return-type logic duplication
    - Improve ordering test to verify both first and last setup are active
    thomhurst authored Feb 26, 2026
    Configuration menu
    Copy the full SHA
    1f7a70f View commit details
    Browse the repository at this point in the history
Loading