title: tdd with non-trivial algorithms
body: <p>In these days I'm coding some data structures in Java. Many of them (if not all) offer a very simple interface (add, contains, delete) but under the hood there are non-trivial algorithms.</p>
  
  <p>How can I use the tdd technique in such a situation?</p>
  
  <p>I think that the problem is that tdd (and in general unit testing) is about testing the interfaces and not the implementations. Am I right? How can I deal with this?</p>
  
  <p>If you know any technique to handle this cases please let me know it.</p>
  
  <p>Thank you for your help.</p>