Tidied up testswith macros and shared examples