AArnott / Validation

Method input validation and runtime checks that report errors or throw exceptions when failures are detected.
Microsoft Public License
131 stars 22 forks source link

Bump Moq from 4.15.2 to 4.16.0 #67

Closed dependabot[bot] closed 3 years ago

dependabot[bot] commented 3 years ago

Bumps Moq from 4.15.2 to 4.16.0.

Changelog

Sourced from Moq's changelog.

4.16.0 (2021-01-16)

Added

  • Ability to directly set up the .Result of tasks and value tasks, which makes setup expressions more uniform by rendering dedicated async verbs like .ReturnsAsync, .ThrowsAsync, etc. unnecessary:

    -mock.Setup(x => x.GetFooAsync()).ReturnsAsync(foo)
    +mock.Setup(x => x.GetFooAsync().Result).Returns(foo)
    

    This is useful in places where there currently aren't any such async verbs at all:

    -Mock.Of<X>(x => x.GetFooAsync() == Task.FromResult(foo))
    +Mock.Of<X>(x => x.GetFooAsync().Result == foo)
    

    This also allows recursive setups / method chaining across async calls inside a single setup expression:

    -mock.Setup(x => x.GetFooAsync()).ReturnsAsync(Mock.Of<IFoo>(f => f.Bar == bar))
    +mock.Setup(x => x.GetFooAsync().Result.Bar).Returns(bar)
    

    or, with only Mock.Of:

    -Mock.Of<X>(x => x.GetFooAsync() == Task.FromResult(Mock.Of<IFoo>(f => f.Bar == bar)))
    +Mock.Of<X>(x => x.GetFooAsync().Result.Bar == bar)
    

    This should work in all principal setup methods (Mock.Of, mock.Setup…, mock.Verify…). Support in mock.Protected() and for custom awaitable types may be added in the future. (@stakx, #1126)

Changed

  • Attempts to mark conditionals setup as verifiable are once again allowed; it turns out that forbidding it (as was done in #997 for version 4.14.0) is in fact a regression. (@stakx, #1121)

Fixed

  • Performance regression: Adding setups to a mock becomes slower with each setup (@CeesKaas, #1110)

  • Regression: mock.Verify[All] no longer marks invocations as verified if they were matched by conditional setups. (@Lyra2108, #1114)

Commits
  • 74d5863 Update version to 4.16.0
  • 424fe31 Fix typo in changelog
  • f48c0f4 Merge pull request #1126 from stakx/setup-task-result
  • 6f6a89d Update the changelog
  • 66bcb21 Enable task.Result in delegate-based setup methods
  • 42521c4 Add ability in IAwaitableFactory to create result expression
  • 187902c Enable task.Result for expression-based setup methods
  • 5802db8 Support faulted awaitables in IAwaitableFactory
  • 047bf95 Add tests for task.Result setups
  • bab305e Merge pull request #1125 from stakx/awaitable-factories
  • Additional commits viewable in compare view


Dependabot compatibility score

Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR: - `@dependabot rebase` will rebase this PR - `@dependabot recreate` will recreate this PR, overwriting any edits that have been made to it - `@dependabot merge` will merge this PR after your CI passes on it - `@dependabot squash and merge` will squash and merge this PR after your CI passes on it - `@dependabot cancel merge` will cancel a previously requested merge and block automerging - `@dependabot reopen` will reopen this PR if it is closed - `@dependabot close` will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually - `@dependabot ignore this major version` will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this minor version` will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself) - `@dependabot ignore this dependency` will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)