The tricky part of data source substitution is making sure that:
1. All of the projectors were unhooked from the old dataSource
2. All of the projectors are hooked into the new dataSource
3. The listeners were deregistered from the old dataSource
4. The listeners were registered to the new dataSource

So I'd like to see the testing hit these 4 cases explicitly. For points 1 and 2, set up projectors so that it will have a particular domain and check that the scales do(nt) autodomain to them. For points 3 and 4, use an approach like below to verify which callbacks are called.