what happens in a unit test?