add test cases and update gitignore