Adding even more unit tests

Added a lot more unit tests, our coverage is now greater than 80%. I will want to go back later and refactor some of the tests, but wanted to get this in now to protect us while changes are happening.