Return an error if the badge count is not an int.
Fix a crash caused if you did not set a badge count.
Revamp and finish creating the remaining unit tests.