Add propper test assertions and test results.

Added Assert class for TestCase to inherit from to allow test cases to
throw test failure errors.

Added proper logging of errors and failures in the test using clasical
. F E output, in the future seperate the responsibility for output
building to another class