Removed condition and requirement namespaces
More unit tests
Introduced mocks as parameters rather than constants
Added simple validation to mock parameter injection
Unit tests