So, I was thinking and I came into the conclusion that when Unit-Testing, even if one wants to base mainly in behaviour-type testing (that is, with mocks, for example), I will eventually always to have to do state-based testing at least for the leaf classes (in the dependency graph).

Is this correct?

PS: I am, of course, excluding stable dependencies such as Java/C# API libraries, that one must always use.