Fixed issue #30

Added an extra conditional to prevent using MockProvider if it's an inner class, and added a test to verify that the new version works correctly. This fixes issue #30
Just move those inner classes on top and does it need to be public?

Else, you get my LGTM