shared_examples and macros