di/instanceManager ignores call time parameters of array

relative #4714

InstanceManager::sharedInstancesWithParams with Hash based management ignores entries of array.This causes #4717.

Thanks.
remove type preference check because duplicate with other tests.
Updated for test readablity in 528327c