Sha256: ddcd4f7cf4cbd8964430da532c20bf4c097b02934f3d171d612e52d7d1d6c695

Contents?: true

Size: 1.13 KB

Versions: 10

Compression:

Stored size: 1.13 KB

Contents

require 'rdf/spec'

RSpec.shared_examples 'an RDF::Dataset' do
  include RDF::Spec::Matchers

  before :each do
    raise 'dataset must be set with `let(:dataset)' unless
      defined? dataset

    if dataset.empty?
      raise "+dataset+ must respond be pre-populated with the statements in #{RDF::Spec::TRIPLES_FILE} in a before block"
    end
  end

  let(:countable)    { dataset }
  let(:enumerable)   { dataset }
  let(:queryable)    { dataset }

  context "when counting statements" do
    require 'rdf/spec/countable'
    it_behaves_like 'an RDF::Countable'
  end

  context "when enumerating statements" do
    require 'rdf/spec/enumerable'
    it_behaves_like 'an RDF::Enumerable'
  end

  context "as durable" do
    require 'rdf/spec/durable'
    before { @load_durable ||= lambda { dataset } }

    it_behaves_like 'an RDF::Durable'
  end

  context "when querying statements" do
    require 'rdf/spec/queryable'
    it_behaves_like 'an RDF::Queryable'
  end

  describe '#isolation_level' do
    it 'is an allowable isolation level' do
      expect(described_class::ISOLATION_LEVELS)
        .to include(dataset.isolation_level)
    end
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
rdf-spec-3.3.0 lib/rdf/spec/dataset.rb
rdf-spec-3.2.0 lib/rdf/spec/dataset.rb
rdf-spec-3.1.2 lib/rdf/spec/dataset.rb
rdf-spec-3.1.1 lib/rdf/spec/dataset.rb
rdf-spec-3.1.0 lib/rdf/spec/dataset.rb
rdf-spec-3.0.0 lib/rdf/spec/dataset.rb
rdf-spec-2.2.0 lib/rdf/spec/dataset.rb
rdf-spec-2.2.0.pre.rc1 lib/rdf/spec/dataset.rb
rdf-spec-2.0.0 lib/rdf/spec/dataset.rb
rdf-spec-2.0.0.beta1 lib/rdf/spec/dataset.rb