Maybe I'm being slow, but I didn't get how they were explicitly declaring it except in the test, and I don't see how one test in a whole suite would help a newbie discover this problem.
Are they actually implying the constructor should throw an exception moaning about lack of X dependency?
You can't call the constructor without passing the reference to the object the new object depends on... Thus you can't inadvertantly initialize the objects in the wrong order.
Are they actually implying the constructor should throw an exception moaning about lack of X dependency?