Branches: if/elsif/else
Conditions: true and false outcomes for every resolution path
Returns: test every way a subroutine can return