Add test case with HAL abstraction