Added a bunch of test cases