re-using rng module
extracted IScope mocking to a re-usable module
Extracted module for stubbing FactoryIdToFactory for code re-use
Extracted module for stubbing ReplaceEmpty for code re-use
Re-use stub for ReplaceEmpty
Separated Composition from TestComposition to force use of TestInjector rather than overriding the real injector
Moved the code from testModule inside testInjector as that was the only place using the call
Replaced some newing-up with testInjector, removed setting values in stubRng as the defaults were accepatble