Add more test case and use context to make it readble