Added some unit tests for the template method pattern