Inspired by shared_example_for from RSpec