add tests and changed thrown exception

changed to throw ArgumentNull instead of NullReference

add tests for getAmountAvailableForGoalsPerYear