Refactored the CMakeLists.txt file into macros
Added more comprehensive test cases for boundary