Add heading test cases
Use data provider to run all tests
Simplify the tests code