changed base case for recursive call
added comment to flag potential error handling for negative numbers
updated tests to use Set for expected and testList
edited targets to use set instead of ArrayList to guarantee uniqueness