unit testing completed of all possible cases