Fix "class method vs. interface method" bug introduced by 162a543 #381
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Commit 162a543 introduced a bug by handing over too many interfaces to Castle's
ProxyGenerator.CreateClassProxy
method. (The test case given in #141 contains a hint why this matters.) The intention behind that commit apparently was to enablemock.As<TInterface>
even aftermock.Object
has already been called; something that wouldn't have been valid usage previously.That change unfortunately also caused mocked classes' methods that implement an interface method to no longer be mocked correctly.
This commit fixes this problem by ensuring that the "internally implemented" interfaces are not explicitly passed to
.CreateClassProxy
(like it used to be done previously).This fixes #132, #133, #141, #156, #157, #164, #175, #212, #315, and #331.