Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Improve Error message given if protected method is setup with bad arguments #862

Merged
merged 8 commits into from
Jul 14, 2019
Merged

Improve Error message given if protected method is setup with bad arguments #862

merged 8 commits into from
Jul 14, 2019

Conversation

jessfdm-codes
Copy link
Contributor

Fixes issue #852

…ne compatible argument types

Adds the private static method Moq.Protected.ProtectedMock.ThrowIfMethodMissing which throws an ArgumentException similar to ThrowIfMemberMissing, but with a more informative message which includes the argument types included.

Adds a string to the resources file for MissingMethod

Updates applicable calls to ThrowIfMemberMissing to ThrowIfMethodMissing when it is obvious that the missing member is a method and not a property
Changed tests to check that the right string is being used in thrown messages.

Also added a test which checks that an exception is thrown if incorrect types are supplied to a valid method.
For some reason VS2019 deciced that ResGen needed to turn everything in the resources files into spaces. I've manually formatted the files to put them back to how they were.
For some reason VS2019 deciced that ResGen needed to turn everything in the resources files into spaces. I've manually formatted the files to put them back to how they were.
Copy link
Contributor

@stakx stakx left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for your PR! Looks great, just a few details that I noticed.

src/Moq/Properties/Resources.resx Outdated Show resolved Hide resolved
src/Moq/Protected/ProtectedMock.cs Outdated Show resolved Hide resolved
src/Moq/Protected/ProtectedMock.cs Outdated Show resolved Hide resolved
tests/Moq.Tests/ProtectedMockFixture.cs Outdated Show resolved Hide resolved
tests/Moq.Tests/ProtectedMockFixture.cs Outdated Show resolved Hide resolved
src/Moq/Protected/ProtectedMock.cs Outdated Show resolved Hide resolved
Changed Error message and updated tests to reflect

Changed to using .GetFormattedName from .ToString and updated tests to reflect

Argument check is now against whether it is of type Expression rather than MethodCallExpression

Removed typecast by adding variable assignment to if statement
@stakx stakx merged commit 7a59b92 into devlooped:master Jul 14, 2019
@stakx
Copy link
Contributor

stakx commented Jul 14, 2019

Great work, thanks for your contribution! 🚀

ishimko pushed a commit to ishimko/moq4 that referenced this pull request Sep 2, 2019
…uments (devlooped#862)

* Improved Error Messsage given if Protected method is supplied with none compatible argument types

Adds the private static method Moq.Protected.ProtectedMock.ThrowIfMethodMissing which throws an ArgumentException similar to ThrowIfMemberMissing, but with a more informative message which includes the argument types included.

Adds a string to the resources file for MissingMethod

Updates applicable calls to ThrowIfMemberMissing to ThrowIfMethodMissing when it is obvious that the missing member is a method and not a property

* Added Message checking to tests and added test

Changed tests to check that the right string is being used in thrown messages.

Also added a test which checks that an exception is thrown if incorrect types are supplied to a valid method.

* Adapted Verify tests

* Update CHANGELOG.md

* Reverted Spaces to tabs in resources file

For some reason VS2019 deciced that ResGen needed to turn everything in the resources files into spaces. I've manually formatted the files to put them back to how they were.

* Reverted Spaces to tabs in resources file

For some reason VS2019 deciced that ResGen needed to turn everything in the resources files into spaces. I've manually formatted the files to put them back to how they were.

* Implimented requested changes

Changed Error message and updated tests to reflect

Changed to using .GetFormattedName from .ToString and updated tests to reflect

Argument check is now against whether it is of type Expression rather than MethodCallExpression

Removed typecast by adding variable assignment to if statement
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants