Sha256: b07eaf9cee1342d391765b6bfe402e24c11263c31cb7964570179a7b764bba6f

Contents?: true

Size: 748 Bytes

Versions: 5

Compression:

Stored size: 748 Bytes

Contents

# frozen_string_literal: true

RSpec.describe <%= camelcase(name) %>::Plot do
  let(:plot) { <%= camelcase(name) %>::Plot.new }

  it 'gives all entities a description' do
    undescribed = plot.entities
                      .reject(&:has_description?)

    expect(undescribed).to be_empty
  end

  it 'uniquely identifies entities by name' do
    actor = plot.introduce

    plot.entities.that_are(Openable).each { |entity| entity.open = true }

    plot.entities.that_are(Room).each do |room|
      actor.parent = room
      plot.available.select(actor).each do |entity|
        result = plot.available(ambiguous: true).query(actor, entity.name)
        expect(result.match).to eq([entity])
      end
    end
  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
gamefic-sdk-4.1.0 scaffolds/project/spec/__name__/plot_spec.rb.gf.erb
gamefic-sdk-4.0.1 scaffolds/project/spec/__name__/plot_spec.rb.gf.erb
gamefic-sdk-4.0.0 scaffolds/project/spec/__name__/plot_spec.rb.gf.erb
gamefic-sdk-3.4.1 scaffolds/project/spec/__name__/plot_spec.rb.gf.erb
gamefic-sdk-3.4.0 scaffolds/project/spec/__name__/plot_spec.rb.gf.erb