having them as blocks causes issues when a struct with values is initialized inside the block, because the compiler treats the comma in the struct defenition as seperate arguments.
- macro to init the test unit - macro to crate a test - macro to add assertion stmts