Macro for component type id
Moved header inclusion
Arranged tests into separate files