Added more tests for the define macro
Handling the case when not all the arguments have been specified at the
point of macro execution in the code
Handling the case when too many arguments are provided to the macro in
the code