Added Unit Tests and Acceptance Tests