Sha256: 337748fde2fa2b07290aeadc8123eb2d4cfc1df4b792f9e038fcbc5df95e963a

Contents?: true

Size: 864 Bytes

Versions: 53

Compression:

Stored size: 864 Bytes

Contents

# frozen_string_literal: true

require 'eac_ruby_utils/common_constructor'

RSpec.describe ::EacRubyUtils::CommonConstructor do
  ARG_LIST = %i[a b c d].freeze
  let(:instance) do
    described_class.new(*ARG_LIST, default: %w[Vcc Vd]) do
      @z = 'Vz'
    end
  end

  class MyClass
    attr_reader :z
  end

  let(:subject) { MyClass.new('Va', 'Vb', 'Vc') }

  before do
    instance.setup_class(::MyClass)
  end

  it { expect(subject.z).to eq('Vz') }

  ARG_LIST.each do |attr|
    expected_value = "V#{attr}"
    it "attribute \"#{attr}\" equal to \"#{expected_value}\"" do
      expect(subject.send(attr)).to eq(expected_value)
    end

    [false, true].each do |include_all|
      it "respond_to?('#{attr}', #{include_all}) == #{include_all}" do
        expect(subject.respond_to?("#{attr}=", include_all)).to eq(include_all)
      end
    end
  end
end

Version data entries

53 entries across 53 versions & 2 rubygems

Version Path
ehbrs-tools-0.16.2 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_constructor_spec.rb
avm-tools-0.77.0 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_constructor_spec.rb
ehbrs-tools-0.16.1 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_constructor_spec.rb
avm-tools-0.76.1 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_constructor_spec.rb
ehbrs-tools-0.16.0 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_constructor_spec.rb
avm-tools-0.76.0 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_constructor_spec.rb
avm-tools-0.75.1 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_constructor_spec.rb
avm-tools-0.75.0 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_constructor_spec.rb
avm-tools-0.74.1 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_constructor_spec.rb
avm-tools-0.74.0 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_constructor_spec.rb
avm-tools-0.73.0 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_constructor_spec.rb
avm-tools-0.72.0 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_constructor_spec.rb
avm-tools-0.71.0 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_constructor_spec.rb
avm-tools-0.70.2 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_constructor_spec.rb
ehbrs-tools-0.15.0 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_constructor_spec.rb
ehbrs-tools-0.14.1 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_constructor_spec.rb
avm-tools-0.70.1 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_constructor_spec.rb
avm-tools-0.70.0 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_constructor_spec.rb
avm-tools-0.69.3 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_constructor_spec.rb
ehbrs-tools-0.14.0 vendor/eac_ruby_utils/spec/lib/eac_ruby_utils/common_constructor_spec.rb