Added more tests and refactored inputs to use new exception.

Created exception instead of handling enviroment exits in the calculator
class.