Sha256: 197cbfb334e79ec44a5d924e206aaf23d4b28b6a36053dcc36a03613282a284d

Contents?: true

Size: 525 Bytes

Versions: 4

Compression:

Stored size: 525 Bytes

Contents

require "spec_helper"

describe "constructor" do
  before do
    class Test::Foo < Evil::Struct
      attribute :foo, default: proc { "qux" }
    end
  end

  it "accepts hash with symbolic keys" do
    expect(Test::Foo.new foo: "bar").to eq foo: "bar"
  end

  it "accepts hash with string keys" do
    expect(Test::Foo.new "foo" => "bar").to eq foo: "bar"
  end

  it "accepts nil" do
    expect(Test::Foo.new nil).to eq foo: "qux"
  end

  it "accepts no arguments" do
    expect(Test::Foo.new).to eq foo: "qux"
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
evil-struct-0.0.4 spec/features/constructor_arguments_spec.rb
evil-struct-0.0.3 spec/features/constructor_arguments_spec.rb
evil-struct-0.0.2 spec/features/constructor_arguments_spec.rb
evil-struct-0.0.1 spec/features/constructor_arguments_spec.rb