Suppose we have a module A that uses a DataFeed and a LinearRegression. In order, we would test: DataFeed’s contract, in full LinearRegression’s contract, in full A’s contract, which relies on the other contracts but does not directly expose them This style of testing requires you to test subcomponents of a module first. Once the subcomponents have been verified, then the module itself can be tested.