shared_examples_for 'a status checker' do it 'inherits from StatusCat::Checker' do expect( checker ).to be_a_kind_of( StatusCat::Checkers::Base ) end describe 'attributes' do it 'has a name reader' do expected = checker.class.to_s.split( '::' ).last.underscore.to_sym expect( checker.name ).to eql( expected ) end it 'has a value reader' do expect( checker.value ).to eql( checker.value ) end it 'has a status reader' do expect( checker.status ).to eql( checker.status ) end end end