unit testing in software engineering example