Adding testing framework and initial tests