Sha256: c6dc5395b69149df43d776e010fb3684a5a027fca001bc54082a731cfd3c8b32

Contents?: true

Size: 384 Bytes

Versions: 25

Compression:

Stored size: 384 Bytes

Contents

shared_examples_for 'an abstract type' do
  context 'called on a subclass' do
    let(:object) { Class.new(described_class) }

    it { should be_instance_of(object) }
  end

  context 'called on the class' do
    let(:object) { described_class }

    specify do
      expect { subject }
        .to raise_error(NotImplementedError, "#{object} is an abstract type")
    end
  end
end

Version data entries

25 entries across 25 versions & 2 rubygems

Version Path
devtools-0.1.26 shared/spec/shared/abstract_type_behavior.rb
devtools-0.1.25 shared/spec/shared/abstract_type_behavior.rb
devtools-0.1.24 shared/spec/shared/abstract_type_behavior.rb
devtools-0.1.23 shared/spec/shared/abstract_type_behavior.rb
devtools-0.1.22 shared/spec/shared/abstract_type_behavior.rb
devtools-0.1.21 shared/spec/shared/abstract_type_behavior.rb
devtools-0.1.20 shared/spec/shared/abstract_type_behavior.rb
devtools-0.1.19 shared/spec/shared/abstract_type_behavior.rb
devtools-0.1.18 shared/spec/shared/abstract_type_behavior.rb
devtools-0.1.16 shared/spec/shared/abstract_type_behavior.rb
devtools-0.1.15 shared/spec/shared/abstract_type_behavior.rb
devtools-0.1.14 shared/spec/shared/abstract_type_behavior.rb
devtools-0.1.13 shared/spec/shared/abstract_type_behavior.rb
devtools-0.1.12 shared/spec/shared/abstract_type_behavior.rb
devtools-0.1.11 shared/spec/shared/abstract_type_behavior.rb
devtools-0.1.10 shared/spec/shared/abstract_type_behavior.rb
devtools-0.1.9 shared/spec/shared/abstract_type_behavior.rb
devtools-0.1.8 shared/spec/shared/abstract_type_behavior.rb
devtools-0.1.7 shared/spec/shared/abstract_type_behavior.rb
devtools-0.1.6 shared/spec/shared/abstract_type_behavior.rb