added some more tests before to refactor

completed the requirements tests. Im  working on the edge cases not
mentioned on requirements