While implementation
DRY tests with shared_examples