GrahamA: reorganise test methods, add test cases for some happy paths.