Updated test cases, all pass