Rearranged test code structure to better fit the target project.
Added Filter tests.
Extended the Provider test suite.

Also slightly refactored the mocking parts of some test cases.